


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
如何绑定(Binding XXX)数据 再ListBox控件首先定义一个Model层用来定义属性public class DateModel 必须继承于 INotifyPropertyChanged01.public class DateModel : INotifyPropertyChanged02. 03. public event PropertyChangedEventHandler PropertyChanged;04.05. protected virtual void OnPropertyChanged(PropertyChangedEventArgs args)06. 07. if (PropertyChanged != null)08. PropertyChanged(this, args);09. 10.11. protected void OnPropertyChangedEvent(string propertyName)12. 13. OnPropertyChanged(new PropertyChangedEventArgs(propertyName);14. 15.16. private string _Title = string.Empty;17. public string Title18. 19. get return _Title; 20. set _Title = value; OnPropertyChangedEvent(Title); 21. 22.23. public DateModel() 24. public DateModel( string n_Title)25. 26. _Title = n_Title;27. 28. 复制代码然后在定义一个类用来初始化 ListBox中的数据01. public class FindData02. 03. static ObservableCollection _Date;04.05. public static ObservableCollection Date()06. 07. if (_Date = null)08. 09. _Date = new ObservableCollection();10.11. _Date.Add(new DateModel(1);12. _Date.Add(new DateModel(2);13. _Date.Add(new DateModel(4);14. _Date.Add(new DateModel(5);15. _Date.Add(new DateModel(6);16. _Date.Add(new DateModel(7);17. _Date.Add(new DateModel(8);18. _Date.Add(new DateModel(9);19. _Date.Add(new DateModel(10);20. _Date.Add(new DateModel(11);21. 22. return _Date;23. 24. 复制代码在程序初始化时绑定数据到ListBox控件数据绑定模式与INotifyPropertyChanged接口 数据绑定模式共有四种:OneTime、OneWay、OneWayToSource和TwoWay,默认是TwoWay。一般来说,完成数据绑定要有三个要点:目标属性是依赖属性、绑定设置和实现了INotifyPropertyChanged接口的数据源(数据上下文)OneTime:一次性有效,之后数据源的变化不会对目标属性有任何影响;当然,目标属性的改变也不对数据源有影响。代码如下OneWay:单向作用,数据源的改变会反映到目标属性上;但目标属性的改变不对数据源有影响。代码如下:OneWayToSource:单向作用,跟OneWay的方向相反,目标属性的改变会更新到数据源上;但数据源的更新不会通知目标属性。在这种模式下,目标属性值初始状态一般为空,因为数据源的值对其不起作用。代码如下: TwoWay:双向作用,即目标属性的改变会更新到数据源上,数据源的更新也会通知目标属性。这是绑定的默认方式,可以省略。代码如下:到此这几种模式就介绍完了。不过,我这里还有个有趣的问题:如果数据源没有实现INotifyPropertyChanged接口,这几种模式还能正常工作吗?我做了一些尝试,得出的结论是:1、OneTime模式根本不受影响;2、如果在后台代码中更改了数据源,目标属性不会得到通知;3、如果在界面上更改目标属性,数据源会收到更新通知。数据绑定与DataContext 1、如果没有显式设置上下文,那么数据上下文就是界面;例如下边代码,textBox1绑定textBlock2的Text属性的时候,数据上下文就是Grid或者Grid父容器的DataContext,上下文中能用到就是界面元素的属性。 2、可以在任何时候显式设置上下文,但是设置上下文以后绑定才会有效。设置方法是ctlId.DataContext = xxx,例如grid1.DataContext = this;3、可以在XAML中设置上下文在XAML中设置DataContext,有三点要设置:1)引用namespace;2)设置Resources;3)设置DataContext。如下代码所示:Window x:Class=WpfAppDemo1.MainWindow xmlns=/winfx/2006/xaml/presentation xmlns:x=/winfx/2006/xaml xmlns:c=clr-namespace:WpfAppDemo1 Title=MainWindow Height=350 Width=525 Text
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 5 Languages Around the World 主题词汇专项练习(含答案)-2025-2026学年高中英语人教版(2019)必修第一册
- 肾内科血透患者的护理
- 2025年事业单位工勤技能-湖南-湖南广播电视天线工五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北计算机文字录入处理员二级(技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北水工监测工二级(技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-湖北-湖北收银员五级(初级工)历年参考题库典型考点含答案解析
- 2025-2030中国纸浆模塑行业竞争格局与发展规划分析报告
- 2025年事业单位工勤技能-湖北-湖北兽医防治员五级(初级工)历年参考题库典型考点含答案解析
- 2025年农业绿色发展政策与法律法规解读
- 2025年药物研发新方向:创新药物靶点挖掘与验证技术实战分析报告
- 出疹性疾病的护理
- 渔民远洋孤独感管理
- 2025松材线虫病枯死松树无人机监测技术规范
- 合伙买货车合同协议书
- 物流公司运营管理方案
- T/CECS 10400-2024固废基胶凝材料
- T/CA 105-2019手机壳套通用规范
- T/BMPA 0001-2023再生水供用双方协商价格行为指南
- 2024年高级养老护理员职业鉴定考试题库大全-下(多选、判断题)
- 数字经济中的市场结构变化-洞察阐释
- 《肾衰竭患者的护理》课件
评论
0/150
提交评论