C#Binding使用总结,含有哪些功能(非具体细节实现)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值