DataContext数据上下文什么是意思?

mk_19820110 2012-12-21 07:35:44
什么叫数据上下文?谁能通俗易懂的讲一下呀?我不太理解这个!什么时候用DataContext属性?
...全文
2873 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lawest 2015-05-29
  • 打赏
  • 举报
回复
引用 3 楼 sundayX 的回复:
数据上下文就是不止它自身可以访问,其子元素皆可访问。 比如有这么一个数据类型: 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依然可以访问得到这个对象的属性。
wjq 2013-01-11
  • 打赏
  • 举报
回复
数据上下文,就是当前对象(主要是UI元素)与之绑定的数据对象。所有对该控件的数据绑定({Binding})如果不额外声明Source,则默认的Source就是DataContext指向的数据对象。
机器人 2012-12-30
  • 打赏
  • 举报
回复
你可以理解为 DataSource
gajuesy 2012-12-24
  • 打赏
  • 举报
回复
楼上正解,(*^__^*) 嘻嘻,通俗易懂
sundayX 2012-12-24
  • 打赏
  • 举报
回复
数据上下文就是不止它自身可以访问,其子元素皆可访问。 比如有这么一个数据类型: 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依然可以访问得到这个对象的属性。
在路上20130607 2012-12-22
  • 打赏
  • 举报
回复
在binding 对象或 对象的某个属性 时使用
海涵德 2012-12-22
  • 打赏
  • 举报
回复
它在linq to sql 中使用, datacontext1 dc=new datacontext1(); var q= from s in dc.我的实体 select s; foreach (我的实体 r in q) { .... }

8,755

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧