将DataTable绑定到DataContext上

DataTable dt = new DataTable();  
            dt.Columns.Add(new DataColumn("Name", typeof(string)));  
            dt.Columns.Add(new DataColumn("Age", typeof(string)));  
            dt.Columns.Add(new DataColumn("Sex", typeof(string)));  
            DataRow dr = dt.NewRow();  
            dr[0] = "Jay";  
            dr[1] = "12";  
            dr[2] = "M";  
            dt.Rows.Add(dr);  
         
            dr = dt.NewRow();  
            dr[0] = "Joey";  
            dr[1] = "13";  
            dr[2] = "F";  
            dt.Rows.Add(dr);  
            lv.DataContext = dt ;  
            lv.SetBinding(ListView.ItemsSourceProperty, new Binding());//既没指定Source又没指定Path的Binding  
  
  
//Xaml  
 <ListView Name="lv" Height="100" ScrollViewer.VerticalScrollBarVisibility="Visible"  >  
                <ListView.View >  
                    <GridView  >  
                        <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}"></GridViewColumn>  
                        <GridViewColumn Header="Age" DisplayMemberBinding="{Binding Age}"></GridViewColumn>  
                        <GridViewColumn Header="Sex" DisplayMemberBinding="{Binding Sex}"></GridViewColumn>  
                    </GridView>  
                </ListView.View>  
            </ListView>  

  当将DataTable对象放在DataContext属性里,并把ItemsSource与一个既没指定Source又没指定Path的Binding关联起来时,Binding却能自动找到它的DefaultView并当作自己的Source来使用,代码如上所示。

posted @ 2011-12-23 14:54  李董  阅读(293)  评论(0)    收藏  举报