黑马程序员技术交流社区

标题: 关于WPF的数据绑定 [打印本页]

作者: guoguo    时间: 2014-3-17 19:06
标题: 关于WPF的数据绑定
本帖最后由 guoguo 于 2014-3-19 14:03 编辑

请问,在WPF中,如果想绑定一个数据源 ,ItemsSource与DataContext有什么区别啊,为什么有的控件选择DataContext,有的控件选择ItemsSource

作者: mdb    时间: 2014-3-17 19:17
DataContext和ItesSource其应用目的不同。

DataContext是一个应用于FrameworkElement类控件的通用的依赖属性,他可以作为暗含数据绑定源通过FrameworkElement逻辑树从父控件到子控件继承使用。该属性本书不表示任何数据,每次使用必须进行数据绑定。

而ItemsSource是一个ItemsControl模板数据源标识属性,数据模板都会包含或者继承该属性,例如HierarchicalDataTemplate。当通过Binding或者代码设置ItemsSource属性时,控件将在内部生成分别生成模板Items。而设置或者绑定DataContext到一个ItemsControl时,则不会生成模板Items。
作者: shangxin    时间: 2014-3-17 21:13
DataContext是上下文数据控件;ItemsSource是可列的数据源,比如说像数组,List,Dictionary,这样的,只要是继承于IEmurable都可以的,一般的话,我们使用的都是Itemsource这个属性,很少用到datacontext的。比如说,你想显示list里的数据直接datagrid1.itemsource=list就可以了。
作者: 贰的23次方    时间: 2014-3-17 21:32
学习了,但是dataContext还是不是很明白。可不可以再详细点
作者: SunshineGirl    时间: 2014-3-19 09:55
有同学给你回答了,要及时设置成提问结束,这样版主才能给你加分的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2