Binding(五)——使用XML数据作为Binding的源
2012-02-14 13:14
375 查看
先看一个线性集合的例子。下面的XML文本是一组学生的信息存放于D:\RawData.xml,我们要把他显示在一个ListView控件里。
程序的XAML部分如下:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="XML Source" Height="205" Width="240">
<StackPanel Background="LightBlue">
<ListView x:Name="listViewStudents" Height="130" Margin="5">
<ListView.View>
<GridView>
<GridViewColumn Header="Id" Width="80"
DisplayMemberBinding="{Binding XPath=@Id}"/>
<GridViewColumn Header="Name" Width="120"
DisplayMemberBinding="{Binding XPath=Name}"/>
</GridView>
</ListView.View>
</ListView>
<Button Content="Load" Click="Button_Click" Height="25" Margin="5,0"/>
</StackPanel>
</Window>
加粗的两句语句,它们分别为GridView的两列指明了关注的XML的路径。使用@符号加字符串表示的是XML元素的Attribute,不加@符号的字符串表示的是子集元素。
Button的Click事件处理代码如下:
private void Button_Click(object sender, RoutedEventArgs e)
{
XmlDataProvider xdp = new XmlDataProvider();
xdp.Source = new Uri(@"D:\RawData.xml");
xdp.XPath = @"/StudentList/Student";
this.listViewStudents.DataContext = xdp;
this.listViewStudents.SetBinding(ListView.ItemsSourceProperty, new Binding());
}
XmlDataProvider有一个名为Source的属性,可以用它直接指定XML文档所在的位置(无论XML文档存储在本地硬盘还是网络上)。使用XPath选择需要暴露的数据,现在需要一组Student。
运行效果如下:
To be continued...
<?xml version="1.0" encoding="utf-8"?> <StudentList> <Student Id="1"> <Name>Tim</Name> </Student> <Student Id="2"> <Name>Tom</Name> </Student> <Student Id="3"> <Name>Vina</Name> </Student> <Student Id="4"> <Name>Emily</Name> </Student> </StudentList>
程序的XAML部分如下:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="XML Source" Height="205" Width="240">
<StackPanel Background="LightBlue">
<ListView x:Name="listViewStudents" Height="130" Margin="5">
<ListView.View>
<GridView>
<GridViewColumn Header="Id" Width="80"
DisplayMemberBinding="{Binding XPath=@Id}"/>
<GridViewColumn Header="Name" Width="120"
DisplayMemberBinding="{Binding XPath=Name}"/>
</GridView>
</ListView.View>
</ListView>
<Button Content="Load" Click="Button_Click" Height="25" Margin="5,0"/>
</StackPanel>
</Window>
加粗的两句语句,它们分别为GridView的两列指明了关注的XML的路径。使用@符号加字符串表示的是XML元素的Attribute,不加@符号的字符串表示的是子集元素。
Button的Click事件处理代码如下:
private void Button_Click(object sender, RoutedEventArgs e)
{
XmlDataProvider xdp = new XmlDataProvider();
xdp.Source = new Uri(@"D:\RawData.xml");
xdp.XPath = @"/StudentList/Student";
this.listViewStudents.DataContext = xdp;
this.listViewStudents.SetBinding(ListView.ItemsSourceProperty, new Binding());
}
XmlDataProvider有一个名为Source的属性,可以用它直接指定XML文档所在的位置(无论XML文档存储在本地硬盘还是网络上)。使用XPath选择需要暴露的数据,现在需要一组Student。
运行效果如下:
To be continued...
相关文章推荐
- WPF中的binding(六)- 使用XML数据作为Binding的源
- WPF之Binding基础七 使用XML数据作为Binding的源
- 数据绑定(六)使用XML数据作为Binding的Source
- 数据绑定(四)使用DataContext作为Binding的Source
- WPF之Binding基础八 使用Linq数据作为Binding的源
- WPF - 使用XML作为datagrid数据源进行binding
- WPF 中使用XML作为Binding数据源
- 使用XML作为项目的配置文件使用,并解析之,获得数据作为链接数据库的参数
- 使用XML作为项目的配置文件使用,并解析之,获得数据作为链接数据库的参数
- ASP.NET中将数据作为XML数据发送 使用 Request.InputStream 接收
- windows8开发-metro应用中使用xml+json作为数据存储方式
- Ajax客户端与伺服端之间,使用XML作为数据传送
- 使用XML作为项目的配置文件使用,并解析之,获得数据作为链接数据库的参数
- 数据绑定(七)使用ObjectDataProvider对象作为Binding的Source
- Asp中使用Xml作为数据存储方式的新闻发布
- SQL 使用XML数据修改语言
- 使用.NET存储XML数据
- yii CListView中使用CArrayDataProvider自定义数组作为数据
- 提交数据使用json代替xml
- WPF之Binding基础九 使用ObjectDataProvider作为Binding的源