WPF中使用XmlDataProvider做控件绑定
2010-02-21 11:45
585 查看
本篇将说说如何使用XmlDataProvider作控件绑定,但它使用Source 属性。
对于大多数应用程序,我们希望绑定到XML或 .NET 对象。比如XML文件或者自定义的.Net对象,或者是我们从数据库中取出的相应记录。
XAML
用其 Provider 对象支持该操作。XAML 中内置有两种类型的数据提供程序:ObjectDataProvider 和
XMLDataProvider。其中,ObjectDataProvider 用于绑定到 .NET 对象以及从 .NET
对象绑定;XMLDataProvider 用于绑定到 XML 片段和文档以及从 XML 片段和文档进行绑定。
XMAL文件内部数据的直接绑定:
可以看到,在 StackPanel 的资源(<StackPanel.Resources> )中,有一个
XMLDataProvider 对象。x:Key 表示 Binding 对象中用来引用它的名称。这里,我们创建了 XML
内联数据(数据使用<x:XData>标签包含起来,关于XData的细节,建议你查查MSDN:ms-
help://MS.LHSMSSDK.1033/MS.LHSNETFX30SDK.1033/wpf_conceptual/html
/7ce209c2-621b-4977-b643-565f7e663534.htm,有更详细的说明),用作数据绑定的源。在 ListBox 的
Binding 中,使用FavoriteColors的StaticResource作为Source。如果某个数据源位于 XAML
文档中,我们就要指定该对象是一个静态源(StaticResource),正如这里所看到的一样。最后,我们使用 XPath 语句指定应该使用
XML 文档中的哪个集合来填充 ListBox。
最后的结果:
对于大多数应用程序,我们希望绑定到XML或 .NET 对象。比如XML文件或者自定义的.Net对象,或者是我们从数据库中取出的相应记录。
XAML
用其 Provider 对象支持该操作。XAML 中内置有两种类型的数据提供程序:ObjectDataProvider 和
XMLDataProvider。其中,ObjectDataProvider 用于绑定到 .NET 对象以及从 .NET
对象绑定;XMLDataProvider 用于绑定到 XML 片段和文档以及从 XML 片段和文档进行绑定。
XMAL文件内部数据的直接绑定:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="WPFDataBinding.Window1" x:Name="Window" Title="Window1" > <Canvas x:Name="LayoutRoot"> <StackPanel Width="214" Height="Auto"> <StackPanel.Resources> <XmlDataProvider x:Key="FavoriteColors"> <x:XData> <Colors xmlns=""> <Color>红</Color> <Color>橙</Color> <Color>黄</Color> <Color>绿</Color> <Color>蓝</Color> <Color>靛</Color> <Color>紫</Color> </Colors> </x:XData> </XmlDataProvider> </StackPanel.Resources> <TextBlock HorizontalAlignment="Center" FontWeight="Bold"> 喜欢的颜色 </TextBlock> <ListBox Width="200" Height="120" ItemsSource="{Binding Source={StaticResource FavoriteColors}, XPath=/Colors/Color}"> </ListBox> </StackPanel> </Canvas> </Window>
可以看到,在 StackPanel 的资源(<StackPanel.Resources> )中,有一个
XMLDataProvider 对象。x:Key 表示 Binding 对象中用来引用它的名称。这里,我们创建了 XML
内联数据(数据使用<x:XData>标签包含起来,关于XData的细节,建议你查查MSDN:ms-
help://MS.LHSMSSDK.1033/MS.LHSNETFX30SDK.1033/wpf_conceptual/html
/7ce209c2-621b-4977-b643-565f7e663534.htm,有更详细的说明),用作数据绑定的源。在 ListBox 的
Binding 中,使用FavoriteColors的StaticResource作为Source。如果某个数据源位于 XAML
文档中,我们就要指定该对象是一个静态源(StaticResource),正如这里所看到的一样。最后,我们使用 XPath 语句指定应该使用
XML 文档中的哪个集合来填充 ListBox。
最后的结果:
相关文章推荐
- Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定)
- Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定之二:使用外部URL的XML文件)
- WPF:在XmlDataProvider上使用主-从绑定(Master-Detail Binding)
- WPF:在XmlDataProvider上使用主-从绑定(Master-Detail Binding)
- WPF中使用ObjectDataProvider绑定方法
- WPF:ComboBox使用XmlDataProvider做级联
- WPF中使用ObjectDataProvider绑定方法
- WPF中使用ObjectDataProvider绑定方法
- WPF使用 ObjectDataProvider 为方法作为绑定数据源
- 【WPF】城市级联(XmlDataProvider)
- WPF密码控件PasswordBox之 MVVM绑定使用
- 数据绑定(七)使用ObjectDataProvider对象作为Binding的Source
- CYQ.Data 支持WPF相关的数据控件绑定(2013-08-09)
- asp.net中ListView控件动态绑定数据源后,使用DataPager出现错误的原因及解决办法
- XmlDataSource使用xmlDataSource.Data属性绑定xml数据时,无法使用缓存
- WPF中的binding(八)- 使用ObjectDataProvider对象作为Binding的Source
- WPF中控件绑定XML文件,实现修改XML文件即可以改变程序控件内容
- WPF 点击 datatemplate 里面的控件,获取相应绑定的数据
- CYQ.Data 支持WPF相关的数据控件绑定(2013-08-09)
- MSDN 教程短片 WPF 20(绑定3-ObjectDataProvider)