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来使用,代码如上所示。