wpf 快速学习笔记五 Binding
8 、绑定xml的数据源
xml文件
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<carList>
<car id="1001">
<Name>road</Name>
</car>
<car id="1002">
<Name>bmp</Name>
</car>
</carList>
后台cs源码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Xml;
namespace WpfApplication1
{
/// <summary> /// Window1.xaml 的交互逻辑 /// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void btn_load_Click(object sender, RoutedEventArgs e)
{
XmlDocument xmlDoucument = new XmlDocument();
xmlDoucument.Load("test.xml");
XmlDataProvider xdp = new XmlDataProvider();
xdp.Document = xmlDoucument;
MessageBox.Show(xmlDoucument.ToString());
xdp.XPath = @"/carList/car";
this.carListView.DataContext = xdp;
this.carListView.SetBinding(ListView.ItemsSourceProperty, new Binding());
}
}
}
前台源码
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication1"
Title="Window1" Height="300" Width="300">
<Grid>
<StackPanel>
<ListView x:Name="carListView">
<ListView.View>
<GridView>
<GridViewColumn Header="ID" Width="100"
DisplayMemberBinding="{Binding XPath=@id}"/>
<GridViewColumn Header="Name" Width="100"
DisplayMemberBinding="{Binding XPath=Name}"/>
</GridView>
</ListView.View>
</ListView>
</StackPanel>
<Button x:Name="btn_load" Click="btn_load_Click" Width="100" Height=" 20"
Margin="20,200,0,0" Content="初始化数据"/>
</Grid>
</Window>
效果图