数据上下文就是不止它自身可以访问,其子元素皆可访问。
比如有这么一个数据类型:
public class Person
{
public int ID{get;set;}
public string Name{get;set;}
public int Age{get;set;}
public string Address{get;set;}
}
将该类型的一个实例设置为某UserControl的DataContext;
this.DataContext = new Person();
那么在xaml中,binding时就是使用的这个上下文
<UserControl ...>
<StackPanel>
<TextBlock Text={Binding ID}/>
<TextBlock Text={Binding Name}/>
<TextBlock Text={Binding Age}/>
<TextBlock Text={Binding Address}/>
</StackPanel>
</UserControl>
你只是将Person对象赋给了UserControl的DataContext,但是其内部的TextBlock依然可以访问得到这个对象的属性。