通过


Validation.Error 附加事件

定义

当绑定元素遇到验证错误时发生,但仅适用于值设置为trueNotifyOnValidationError绑定。

see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler

注解

WPF 数据绑定模型使你能够与Binding对象关联ValidationRules。 在调用转换器之前,在绑定目标到绑定源值传输期间进行验证。 下面介绍了验证过程:

  1. 将值从目标属性传输到源属性时,数据绑定引擎首先删除可能已添加到Validation.Errors绑定元素的附加属性中的任何ValidationError值。 然后,它会检查是否定义了Binding任何自定义ValidationRule项,在这种情况下,它会在每个 s 上ValidationRule调用Validate方法,直到其中一个方法遇到错误,或直到所有自定义都通过。

  2. 有一个不传递的自定义规则后,绑定引擎将创建一个 ValidationError 对象并将其添加到 Validation.Errors 绑定元素的集合中。 如果 Validation.Errors 不是空,则 Validation.HasError 元素的附加属性设置为 true。 此外,如果设置为该NotifyOnValidationError属性Bindingtrue,绑定引擎将在元素上引发Validation.Error附加事件。

  3. 如果所有规则都通过,则绑定引擎会调用转换器(如果存在)。

  4. 如果转换器通过,绑定引擎将调用源属性的 setter。

  5. 如果绑定具有 ExceptionValidationRule 与之关联的绑定,并在步骤 4 期间引发异常,则绑定引擎会检查是否存在异常 UpdateSourceExceptionFilter。 可以选择使用 UpdateSourceExceptionFilter 回调来提供用于处理异常的自定义处理程序。 如果未指定Binding绑定UpdateSourceExceptionFilter元素,绑定引擎将创建一个ValidationError异常,并将其添加到Validation.Errors绑定元素的集合中。

另请注意,在任一方向(目标到源或源到目标)的有效值传输将 Validation清除 .Errors attached 属性。

有关详细信息,请参阅 数据绑定概述中的“数据验证”。

路由事件信息

物品 价值
标识符字段 ErrorEvent
路由策略 鼓 泡
委托人 EventHandler<TEventArgs>,受约束 ValidationErrorEventArgs

适用于