ValidationError クラス

定義

ValidationRule が検証エラーを報告したときにバインディング エンジンによって作成されるか、MarkInvalid(BindingExpressionBase, ValidationError) メソッドで明示的に作成される検証エラーを表します。

public ref class ValidationError
public class ValidationError
type ValidationError = class
Public 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 ます。 検証は、コンバーターが呼び出される前に、ターゲットからソースへの値の転送中に発生します。 次に検証プロセスを説明します。

  1. ターゲットプロパティからソースプロパティに値が転送されるとき、データバインディングエンジンは、バインドされた ValidationError 要素の添付プロパティに追加された可能性があるを最初に削除し Validation.Errors ます。 次に、カスタム検証規則が定義されているかどうかを確認します Binding 。この場合、 Validate ValidationRule いずれかのエラーが発生するか、すべてのメソッドが成功するまで、それぞれのメソッドが呼び出されます。

  2. に渡されないカスタムルールがある場合、バインドエンジンはオブジェクトを作成 ValidationError し、バインドされた Validation.Errors 要素のコレクションに追加します。 Validation.Errors が空でない場合、要素の Validation.HasError 添付プロパティは true に設定されます。 また、BindingNotifyOnValidationError プロパティが true に設定されている場合は、バインディング エンジンによって、要素で Validation.Error 添付イベントが発生します。

  3. すべての規則が成功した場合、バインディングエンジンはコンバーターを呼び出します (存在する場合)。

  4. コンバーターがを渡した場合、バインディングエンジンはソースプロパティの setter を呼び出します。

  5. バインドにが関連付けられていて、 ExceptionValidationRule 手順3または4で例外がスローされた場合、バインディングエンジンはがあるかどうかを確認し UpdateSourceExceptionFilter ます。 コールバックを使用し UpdateSourceExceptionFilter て、例外を処理するためのカスタムハンドラーを提供できます。 BindingUpdateSourceExceptionFilter が指定されていない場合、バインディング エンジンは例外を使用して ValidationError を作成し、バインドされた要素の Validation.Errors コレクションに追加します。

いずれかの方向 (ターゲットからソースまたはソースからターゲット) への有効な値転送では、添付プロパティがクリアされ Validation.Errors ます。

コンストラクター

ValidationError(ValidationRule, Object)

指定したパラメーターを使用して、ValidationError クラスの新しいインスタンスを初期化します。

ValidationError(ValidationRule, Object, Object, Exception)

指定したパラメーターを使用して、ValidationError クラスの新しいインスタンスを初期化します。

プロパティ

BindingInError

この BindingExpressionMultiBindingExpression オブジェクトまたは ValidationError オブジェクトを取得します。 オブジェクトは明示的に無効とマークされるか、失敗した検証規則が含まれます。

ErrorContent

エラーを説明する文字列など、この ValidationError に追加のコンテキストを提供するオブジェクトを取得または設定します。

Exception

エラーが例外の結果である場合に、この Exception の原因となった ValidationError オブジェクトを取得または設定します。

RuleInError

エラーが検証規則の結果である場合に、この ValidationRule の原因となった ValidationError オブジェクトを取得または設定します。

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください