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