Validation.Error 附加事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在绑定元素遇到验证错误时发生,但仅针对 NotifyOnValidationError 值设置为 true
的绑定。
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
注解
WPF 数据绑定模型使你能够与Binding对象关联ValidationRules。 在调用转换器之前,在绑定目标到绑定源值传输期间进行验证。 下面介绍了验证过程:
当值从目标属性传输到源属性时,数据绑定引擎首先删除 ValidationError 可能已添加到 Validation.Errors 绑定元素的附加属性中的任何值。 然后,它会检查是否有为该 Binding定义了任何自定义 ValidationRule,在这种情况下,它会在每个 ValidationRule上调用 Validate 方法,直到其中一个遇到错误,或直到所有都通过。
一旦自定义规则未传递,绑定引擎就会创建 一个 ValidationError 对象,并将其添加到 Validation.Errors 绑定元素的集合中。 如果 Validation.Errors 不为空,则元素的 Validation.HasError 附加属性设置为
true
。 此外,如果 Binding 的 NotifyOnValidationError 属性设置为true
,则绑定引擎将在元素上引发 Validation.Error 附加事件。如果所有规则都通过,则绑定引擎会调用转换器(如果存在)。
如果转换器通过,绑定引擎将调用源属性的 setter。
如果绑定具有 ExceptionValidationRule 与其关联的 ,并在步骤 4 中引发异常,则绑定引擎会检查是否存在 UpdateSourceExceptionFilter。 可以选择使用 UpdateSourceExceptionFilter 回叫来提供用于处理异常的自定义处理程序。 如果未在 Binding 上指定 UpdateSourceExceptionFilter,则绑定引擎会创建具有异常的 ValidationError 并将其添加到绑定元素的 Validation.Errors 集合中。
另请注意, (目标到源或源到目标方向的有效值传输) 清除 Validation。Errors附加属性。
有关详细信息,请参阅数据 绑定概述中的“数据验证”。
路由事件信息
标识符字段 | ErrorEvent |
路由策略 | 鼓 泡 |
委托 | EventHandler<TEventArgs>,受约束 ValidationErrorEventArgs |