WPF查找数据源是根据 Element Tree 逐级向上查找的,查找每一元素的DataContext属性是否包含这一数据源,并以第一个匹配结果作为最终对象。
也就是说,DataContext是按照ElementTree向下继承的,所以我们可以设置 Parent Element上的 DataContext 的数据源,作为公共数据源。
ParentElement 甚至可以是整个Window或Page
例如:
------后台代码 ----
listView1.DataContext = dt.DefaultView;
------ XAML代码 ------
<ListView Name="listView1" MinWidth="280" ItemsSource=" {Binding}">
<ListView.View>
<GridView x:Name="gridView1">
<GridView.Columns>
<GridViewColumn DisplayMemberBinding=" {Binding ContactID}" Header=" ContactID"></GridViewColumn>
<GridViewColumn DisplayMemberBinding=" {Binding FirstName}" Header=" FirstName"></GridViewColumn>
<GridViewColumn DisplayMemberBinding=" {Binding LastName}" Header=" LastName"></GridViewColumn>
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>