- 源数据是一个继承了InotifyChanged接口的一个类,这个类会暴露一些属性数据,这些属性的SET方法里添加的是当数据变化时将通知UI
- 源数据是UI界面另一个控件的某个值
- 源数据是XML文件,但是注意使用的不是path,而是Xpath;当Xpath=@ID出现此种写法,@意味着路径是XML的属性,不加@表示的是子级元素
- 有特意讲ListBox和ListView绑定的具体使用
- XML数据可以在文件中体现,也可以在XAML中写,但是需要注意,如果把XMLDataProvider写在XAML中,那么它的XML数据需要放在<x:XData>…</x:XData>标签里
- 使用LINQ检索结果作为Binding的源数据
- 我们进行Bingding时,如果明确知道数据源的Name,就能用Source或者ElementName进行绑定,但是有时候我们需要绑定的数据源可能没有明确的Name,此时我们就需要利用Bingding的RelativeSource进行绑定,这种办法的意思是指当前元素和绑定源的位置关系。
- 使用一个ObjectDataProvider类,对未开放的源码类进行包装,包装以后作为Binding的源
- Binding的数据校验,需要写一个ValidationRule抽象类的派生类,复写Validate方法,来校验binding数据,校验失败也可以得到失败的原因
- binding还有另外一种机制,数据转换,像基本的数据和字符串之间的数据转换,是WPF帮我们在底层就准备好了转换方法,但是还会有一些,比如自定义枚举或类型,需要我们人工自己转换。实现这个手动转换,是自己写一个类,继承接口IValueConverter
- MultiBinding 多路绑定 里面含有Bindings这个属性,其类型为Collection<BindingBase>,所以可以将所有的bingding都加载到这个集合里面,每个binding都能有自己独立的数据校验和数据转换
C#Binding使用总结,含有哪些功能(非具体细节实现)
于 2024-06-25 14:52:51 首次发布