次の方法で共有


Validation.Errors 添付プロパティ

定義

バインドされている要素のアクティブなすべての ValidationError オブジェクトのコレクションを取得します。

see GetErrors
see GetErrors
see GetErrors

注釈

アプリケーションでは、このコレクションの内容を変更できません。 この添付プロパティの使用方法の例については、「例」セクションを参照してください。

WPF データ バインディング モデルを使用すると、オブジェクトに関連付けることができますValidationRulesBinding。 検証は、コンバーターが呼び出される前に、バインディングのターゲットからバインドへのソース値の転送中に発生します。 検証プロセスを次に示します。

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

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

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

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

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

また、(ターゲットからソースまたはソースからターゲットへの) どちらの方向でも有効な値の転送によって、 が Validationクリアされることに注意してください。Errors添付プロパティ。

シナリオでの MultiBinding このプロパティの動作については、「」を参照してください ValidationError

詳細については、「データ バインディングの概要」の「 データの検証」を参照してください。

XAML テキストの使用法

「解説」を参照してください。 Errorsコレクション自体はユーザー設定可能ではありませんが、XAML のコントロール テンプレート定義で使用できます。

依存プロパティ情報

識別子フィールド ErrorsProperty
に設定されたメタデータ プロパティ true IsNotDataBindable

適用対象