栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

【WPF】数据验证中ValidationStep的含义

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【WPF】数据验证中ValidationStep的含义

  1. 什么是数据验证?
    WPF中的Binding能够使数据在数据源和目标之间流通,在数据流通时,能够对数据进行一些处理,处理方式是数据转换和数据验证;
  2. 数据验证实例
    所有的自定义验证规则都必须继承自ValidationRule抽象类,通过实现其Validate()方法的返回值ValidationResult表示验证结果。示例如下:

    
        
            
                
            
        
    

其中,ValidatesOnTargetUpdated属性表示验证的方向,为false时,只能验证从目标到源的方向,为true时,同时也会验证从源到目标的验证;
ValidationStep属性确定了验证的时机,是一个枚举值:

  1. RawProposedValue(0),默认值,即先验证,后转换,再赋值给源,如果验证失败,不会继续执行转换和赋值
  2. ConvertedProposedValue(1),先执行Converter,再执行Validate,后赋值到源,如果验证失败,则不执行赋值
  3. UpdatedValue(2),先执行Converter,再执行赋值,最后执行Validate,即无论Validate是否成功,源数据都会更新
  4. CommittedValue(3),先执行Converter,再执行赋值,最后执行Validate,即无论Validate是否成功,源数据都会更新
    注意,在3、4中,自定义验证方法中的Value是System.Windows.Data.BindingExpression,而不再是目标值,这时应该先从Binding表达式中找到目标值再进行Validate。

参考:WPF中的数据验证
参考2
参考3

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/911187.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号