美文网首页
WPF绑定数据验证

WPF绑定数据验证

作者: Rain_Wuu | 来源:发表于2019-08-25 12:16 被阅读0次

1、修改ViewModel类继承IDataErrorInfo接口

        IDataErrorInfo接口程序集为System.ComponentModel;        

IDataErrorInfo实现

2、修改ViewModel中属性

其中属性的验证属性需要继承System.ComponentModel.DataAnnotations

属性添加验证

3、用户自定义验证类可以更灵活的编辑验证的条件,该类封装了一组返回值为ValidationResult的公共静态方法

自定义验证类

4、后台属性设置完成,xaml代码中属性绑定需要进行验证设置

    需要设置数据绑定Binding中ValidatesOnExceptionsValidatesOnDataErrors属性为true

xaml中绑定设置

5、修改TextBox中的验证错误样式,主要修改Validation.ErrorTemplate控件模板及Validation.HasError的触发器

    注:错误验证的控件可用于DependencyObject的所有控件

ErrorTemplate为验证错误时控件的显示样式,也可以通过Validation.HasError属性在触发器中设置简单的样式

6、到此,界面上的验证基本设置完成,当输入数据验证不通过时则会触发相关的样式

验证错误界面

7、下面需要在数据提交的过程中判断所有数据是否验证通过,从而决定数据是否开始提交

    实现思路:获取输入控件列表并遍历控件是否存在验证错误,存在则获取错误验证的信息,否则跳过;

                       通过获取回来的错误信息判断是否当前验证的数据是否全部通过,并返回结果

遍历数据验证核心代码

8、总结:可以在ViewModel的基类中继承IDataErrorInfo接口,将获取错误的相关方法可以封装在这个基类中

    参考网站:https://www.cnblogs.com/NotAnEmpty/p/4031636.html

                      https://www.cnblogs.com/Jeely/p/11076049.html

                     https://docs.microsoft.com/zh-cn/dotnet/api/system.componentmodel.dataannotations.validationcontext?redirectedfrom=MSDN&view=netframework-4.8

相关文章

  • WPF绑定数据验证

    1、修改ViewModel类继承IDataErrorInfo接口 IDataErrorInfo接口程序集为...

  • WPF数据绑定

    元素绑定 数据绑定最简单的形式是,源对象是WPF元素而且源属性是依赖属性。依赖项属性具有内置的更改通知支持,当在源...

  • WPF 数据绑定Binding

    自定义Binding 当为Binding设置了继承System.ComponentModel.INotifyPro...

  • WPF 数据绑定(一)

    最基本的绑定 将Text 的文本绑定到Window的Background属性,设置双向绑定,修改文本的值,改变Gr...

  • WPF 数据绑定(二)

    本例演示如何将数据模型的实例绑定到界面控件。 XAML代码如下:

    WPF 数据绑定(三)

    实现绑定一个对象的集合。在界面添加ListBox控件,指定显示对象的属性值。 在后台代码,获取数据集合源,绑定到L...

  • WPF 数据绑定(四)

    实现绑定到DataSet对象。 界面设计: 同样创建Grid的绑定,指定到列表元素,选择的Item

  • WPF 数据绑定(四)

    筛选的数据源的绑定,使用Linq Filter Data Collection。从数据集合中筛选符合设定条件的数据...

  • wpf 中的无效绑定

    设置wpf绑定的跟踪级别为high,output中观察wpf的处理流程: 对于一个无效的绑定,wpf尝试了5次,最...

  • 小程序表单提交及自定义表单验证

    wxml中的绑定 绑定事件 验证类 提交数据

网友评论

      本文标题:WPF绑定数据验证

      本文链接:https://www.haomeiwen.com/subject/ofshectx.html