WindowsPhone8数据绑定.doc_第1页
WindowsPhone8数据绑定.doc_第2页
WindowsPhone8数据绑定.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

如何绑定(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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论