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>