次の方法で共有


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

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

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

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

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

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

コンストラクター

ValidationError(ValidationRule, Object, Object, Exception)

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

ValidationError(ValidationRule, Object)

指定したパラメーターを使用して、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)

適用対象

こちらもご覧ください