美文网首页
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绑定数据验证

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