WPF---数据绑定之ValidationRule数据校验

Posted 3xiaolonglong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF---数据绑定之ValidationRule数据校验相关的知识,希望对你有一定的参考价值。

一、概述

我们知道,Binding好比架设在Source和Target之间的桥梁,数据可以借助这个桥梁进行流通。在数据流通的过程中,我们可以在Binding这座桥梁上设置关卡,对数据的有效性进行验证。

二、验证方法

我们利用Binding的ValidationRules(类型为Collection<ValidationRule)对数据进行验证。从它的名称和类型可以得知,我们可以为每个Binding设置多个数据校验条件,每个条件是一个

ValidationRule对象,ValidationRule类是个抽象类,使用的时候,我们需要创建它的派生类并实现它的Validate方法。

Validate方法返回值是ValidationResult类型对象,如果校验通过,需要把ValidationResult对象的IsValid属性设置为true,反之,设置false并为其ErrorContent属性设置一个合适的消息内容,一般情况下是一个字符串。

三、例子

Demo1

假设UI上有一个Slider和一个TextBox,我们以Slider为源,TextBox为Target,Slider的取值范围为0~100,也就是说我们要需要校验TextBox中输入的值是不是在1~100这个范围内。

 

以上是关于WPF---数据绑定之ValidationRule数据校验的主要内容,如果未能解决你的问题,请参考以下文章

WPF 数据验证中的绑定失败

WPF:解决数据验证ValidationRule与按钮Canexcute联动的问题

具有依赖属性的 WPF ValidationRule

将 WPF ValidationRule 的状态传递给 MVVM 中的视图模型

WPF中的数据验证

将 ComboBox 文本绑定到另一个 ComboBox 内的 ValidationRule?