ValidationError 类 
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示一个验证错误,该错误在 ValidationRule 报告验证错误时由绑定引擎创建,或者通过 MarkInvalid(BindingExpressionBase, ValidationError) 方法显式创建。
public ref class ValidationErrorpublic class ValidationErrortype ValidationError = classPublic Class ValidationError- 继承
- 
				ValidationError
示例
以下示例演示了一个样式触发器,该触发器创建 ToolTip 报告验证错误消息的 。 Validation.Errors附加属性返回绑定元素上的 对象的集合ValidationError。
<Style x:Key="textStyleTextBox" TargetType="TextBox">
  <Setter Property="Foreground" Value="#333333" />
  <Setter Property="MaxLength" Value="40" />
  <Setter Property="Width" Value="392" />
  <Style.Triggers>
    <Trigger Property="Validation.HasError" Value="true">
      <Setter Property="ToolTip"
        Value="{Binding RelativeSource={RelativeSource Self},
                        Path=(Validation.Errors)[0].ErrorContent}"/>
    </Trigger>
  </Style.Triggers>
</Style>
注解
WPF 数据绑定模型使你可以将验证规则与 Binding 对象相关联。 在调用转换器之前,在目标到源值传输期间进行验证。 下面描述了验证过程。
- 当值从目标属性传输到源属性时,数据绑定引擎首先删除 ValidationError 可能已添加到 Validation.Errors 绑定元素的附加属性中的任何值。 然后,它会检查是否为该Binding定义任何自定义验证规则,在这种情况下,它会在每个ValidationRule规则上调用 方法,Validate直到其中一个规则失败或所有规则都通过。 
- 存在不传递的自定义规则后,绑定引擎将创建一个 ValidationError 对象,并将其添加到 Validation.Errors 绑定元素的集合中。 如果 Validation.Errors 不为空,则元素的 Validation.HasError 附加属性设置为 - true。 此外,如果 Binding 的 NotifyOnValidationError 属性设置为- true,则绑定引擎将在元素上引发 Validation.Error 附加事件。
- 如果所有规则都通过,则绑定引擎会调用转换器(如果存在)。 
- 如果转换器通过,绑定引擎将调用源属性的 setter。 
- 如果绑定具有与之关联的 , ExceptionValidationRule 并在步骤 3 或步骤 4 期间引发异常,则绑定引擎会检查是否存在 UpdateSourceExceptionFilter。 可以使用 UpdateSourceExceptionFilter 回叫来提供用于处理异常的自定义处理程序。 如果未在 Binding 上指定 UpdateSourceExceptionFilter,则绑定引擎会创建具有异常的 ValidationError 并将其添加到绑定元素的 Validation.Errors 集合中。 
(目标到源或源到目标) 方向的有效值转移将清除 Validation.Errors 附加属性。
构造函数
| ValidationError(ValidationRule, Object, Object, Exception) | 使用指定的参数初始化 ValidationError 类的新实例。 | 
| ValidationError(ValidationRule, Object) | 使用指定的参数初始化 ValidationError 类的新实例。 | 
属性
| BindingInError | 获取此 BindingExpression 的 MultiBindingExpression 或 ValidationError对象。 该对象或者被显式标记为无效,或者具有失败的验证规则。 | 
| ErrorContent | 获取或设置一个对象,该对象为此 ValidationError 提供其他上下文,如描述错误的字符串。 | 
| Exception | 获取或设置导致此 Exception 的 ValidationError 对象(如果此错误是异常造成的)。 | 
| RuleInError | 获取或设置导致此 ValidationRule 的 ValidationError 对象(如果此错误是验证规则造成的)。 | 
方法
| Equals(Object) | 确定指定对象是否等于当前对象。(继承自 Object) | 
| GetHashCode() | 作为默认哈希函数。(继承自 Object) | 
| GetType() | 获取当前实例的 Type。(继承自 Object) | 
| MemberwiseClone() | 创建当前 Object 的浅表副本。(继承自 Object) | 
| ToString() | 返回表示当前对象的字符串。(继承自 Object) |