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>

                                   效果图

                   

posted @ 2013-01-29 15:55  思@源  阅读(170)  评论(0编辑  收藏  举报