WPF数据提供者XmlDataProvider

来源:互联网 发布:知乎一定要注册吗 编辑:程序博客网 时间:2024/06/06 20:26
WPF中的提供者中还有一个是XmlDataProvider的,这个不是针对对象的,是针对Xml格式的数据的。官方给出了方案就是总共有三种方式去配置XmlDataProvider。
1.内联Xml,就是在Xaml页面上面直接内联Xaml数据
2.通过创建一个XmlDocument实例,然后设置到XmlDataProvider中的Document属性中去。
3.通过Uri来配置文件的路径,然后设置XmlDataProvider中的Source属性。

下面一个个说明使用方法和注意的地方

1.内联Xml,就是在Xaml页面上面直接内联Xaml数据
WPF数据提供者XmlDataProvider
需要注意的是,在根节点中需要配置xmlns="" ,不然绑定无效。,怎么去使用呢?
WPF数据提供者XmlDataProvider
注意注释了那几个绑定,认真看一下就知道什么意思了。另外,XPath是相对路径,是层叠式的,就是说相对于当前数据项的,在上面XamlProvider中的XPath是绑定到了Persons中,那么在ItemsSource中的绑定中的XPath如果使用Person,就相当于Persons/Person这个路径了。再说如果绑定到特性(不是标签)的话,使用@做开头,如果绑定子标签的话,直接绑定标签名例如Title。
2.通过创建一个XmlDocument实例,然后设置到XmlDataProvider中的Document属性中去。

WPF数据提供者XmlDataProvider

WPF数据提供者XmlDataProvider

下面是使用方式:
WPF数据提供者XmlDataProvider

3.通过Uri来配置文件的路径,然后设置XmlDataProvider中的Source属性。
WPF数据提供者XmlDataProvider

用起来一样,或者可以和Document那样,在后台通过FindResource来检索资源,然后再传入Source(Uri)

下面将一下命名空间的问题,如果数据是有命名空间的呢:WPF数据提供者XmlDataProvider
怎么办,我们使用XmlNamespaceManager,这个属性接收XmlNamespaceMappingCollection对象,XmlNamespaceMappingCollection对象能让让Rri命名空间映射到Prefix中去。
下面具体看使用方法:WPF数据提供者XmlDataProvider

WPF数据提供者XmlDataProvider

这样就把命名空间映射为dc了。然后绑定中的XPath中使用:
WPF数据提供者XmlDataProvider

WPF数据提供者XmlDataProvider
0 0
原创粉丝点击