您的位置:首页 > 其它

WPF数据绑定

2011-08-24 23:19 260 查看
WPF数据绑定为应用程序提供了一种标识数据和与数据交互的简单而又一致的方法。元素能够以公共语言运行库对象(CLR)和XML的形式绑定

到各种数据源中的数据。
数据绑定涉及到两个方面:一个是绑定源,再一个是绑定目标。绑定源即控件绑定所使用的源数据,绑定目标即数据显示的控件。
1、绑定源:
CLR对象:可以绑定到CLR类的公开的属性、子属性、索引器上
ADO.Net对象:例如DataTable、DataView等
XML文件:使用XPath进行解析
DependencyObject:绑定到其依赖项属性上,即控件绑定控件
2、绑定的基本方式
OneWay:绑定导致对源属性的更改会自动更新目标属性,但是对目标属性的更改不会传播回源属性。此绑定类型适用于绑定的控件为隐式

只读控件的情况。
TwoWay:绑定导致对源属性的更改会自动更新目标属性,而对目标属性的更改也会自动更新源属性。此绑定类型适用于可编辑窗体或其他

完全互式UI方案。(确定依赖项属性绑定在默认情况下是单向还是双向的编程方法是:使用GetMetadata获取属性的属性元数据,然后检查

BindsTwoWayByDefault属性的布尔值)
OneWayToSource与OneWay绑定相反;它在目标更改时更新源数据。
OneTime绑定:该绑定会导致源属性初始化目标属性,但不传播后续更改。如果上下文发生了更改,或者绑定上下文的对象发生了更改,

则更改会反映在目标属性中。此绑定类型实质上是OneWay绑定的简化形式,在源值不更改的情况下可以提供更好的性能。
3、实现数据啊元更改影响目标更改
如果要实现数据源更改时,改变目标的值,需使数据源对象实现SystemComponentModel命名控件的INotifyPropertyChanged接口。

INotifyPropertyChanged接口中定义了一个PropertyChanged事件,在某属性值发生变化时引发此时间,即可通知绑定目标更改其显示的值。

4、实现绑定目标的值更改影响绑定源的值
若实现绑定目标的值更改影响绑定源的值,可以设置相应控件绑定是的UpdateSourceTrigger的值。(PropertyChanged-当绑定目标属性

更改时,立即更新绑定源;LostFocus-当绑定目标元素失去焦点时,更新数据源;Explicit-仅在调用U庞大特Source方法时更新绑定源)
多数依赖项属性的UpdateSourceTrigger值的默认值为PropertyChanged,而Text属性的默认值为LostFocus。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: