A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© guoguo 中级黑马   /  2014-3-17 19:06  /  1392 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 guoguo 于 2014-3-19 14:03 编辑

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

4 个回复

倒序浏览
DataContext和ItesSource其应用目的不同。

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

而ItemsSource是一个ItemsControl模板数据源标识属性,数据模板都会包含或者继承该属性,例如HierarchicalDataTemplate。当通过Binding或者代码设置ItemsSource属性时,控件将在内部生成分别生成模板Items。而设置或者绑定DataContext到一个ItemsControl时,则不会生成模板Items。
回复 使用道具 举报
DataContext是上下文数据控件;ItemsSource是可列的数据源,比如说像数组,List,Dictionary,这样的,只要是继承于IEmurable都可以的,一般的话,我们使用的都是Itemsource这个属性,很少用到datacontext的。比如说,你想显示list里的数据直接datagrid1.itemsource=list就可以了。
回复 使用道具 举报
学习了,但是dataContext还是不是很明白。可不可以再详细点
回复 使用道具 举报
有同学给你回答了,要及时设置成提问结束,这样版主才能给你加分的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马