DataContext的在控件树上的传递

控件树,在树上的每一个分支,包括叶子(比如:grid,stackpanel,lable,TextBlock)等,都有DataContext属性,并且该值可以实现从“外层”向内层传递

 

<Grid DataContext=对象A/>

    <Lable  [DataContext = 对象A]   Content="{binding path=Name}"/>

</Grid>

 

我们要将“对象A”中的“Name属性”绑定到“Lable控件”的“Content”属性上,若对象A中“无”Name属性,则必然会报错!


对象A 是“单对象”,还是集合对象,这个并不重要,重要的是它是否有名称为“A”的属性 ;

 

DataContext = 对象(单对象/集合对象):该“对象” 即 数据对象,在MVVM中就是ViewModel

 

 

posted @ 2014-01-25 11:27  长白山  阅读(529)  评论(0编辑  收藏  举报