wpf binging 数据的转换与验证
Posted xiongyang123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wpf binging 数据的转换与验证相关的知识,希望对你有一定的参考价值。
1.数据的验证,有时候需要验证同步的数据是否正常
需要派生一个类 ValidationRule
再把这个类指定给binging 进行验证
在这里如果验证不通过 textbox就会变成红色并且发出警告数据将不会同步到数据源,但是警告UI并不可见 需要添加事件暴露出来
默认验证只对 UI改变数据源才出发验证,如果想 数据源改变UI也触发验证
如果想要 把验证错误以后报的错误,显示出来,需要添加 路由事件,路由事件会一直向上传播,如果被每个函数处理完成,消息就会终止
所以想捕获这条消息并且显示出来,需在textbox 或者他的父控件上 添加路由事件 如下图
需要先把binging的 NotifyOnValidationError 设置成true 让消息能生成
然后在 textbox1上 添加路由事件 即可
2.数据转换
有时候需要对binging的双方做数据转换,比如 textbox 的 text属性 和 Checkbox checkd 属性 绑定 ,在textbox text属性 等于"123" checkbox checked 就设置成true 这种需要用到数据转换
需要实现接口 Ivalueconverter 它的定义如下
Convert 和 ConvertBack 相对 数据源转成UI UI转换成数据源 分别需要怎么转换
value代表 当前值
以上是关于wpf binging 数据的转换与验证的主要内容,如果未能解决你的问题,请参考以下文章