Validation.Error 添付イベント
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
バインドされている要素で検証エラーが検出されると発生します。ただし、NotifyOnValidationError 値が true
に設定されているバインドのみが対象になります。
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
注釈
WPF データ バインディング モデルを使用すると、オブジェクトに関連付けることができますValidationRulesBinding。 検証は、コンバーターが呼び出される前に、バインディングのターゲットからバインドへのソース値の転送中に発生します。 検証プロセスを次に示します。
ターゲット プロパティからソース プロパティに値を転送する場合、データ バインディング エンジンは、バインドされた要素の添付プロパティにValidation.Errors追加された可能性がある値ValidationErrorを最初に削除します。 次に、その Bindingに対してカスタム s が定義されているかどうかをValidationRule確認します。その場合、いずれかのメソッドがエラーになるまで、またはすべてが渡されるまで、 の各 ValidationRuleで メソッドを呼び出Validateします。
渡されないカスタム規則があると、バインド エンジンによってオブジェクトが作成 ValidationError され、バインドされた要素のコレクションに Validation.Errors 追加されます。 Validation.Errors が空でない場合、要素の Validation.HasError 添付プロパティは
true
に設定されます。 また、Binding の NotifyOnValidationError プロパティがtrue
に設定されている場合は、バインディング エンジンによって、要素で Validation.Error 添付イベントが発生します。すべての規則が渡された場合、バインディング エンジンはコンバーター (存在する場合) を呼び出します。
コンバーターが渡された場合、バインディング エンジンはソース プロパティのセッターを呼び出します。
バインドに 関連付けられている が含 ExceptionValidationRule まれており、手順 4 で例外がスローされた場合、バインディング エンジンは UpdateSourceExceptionFilterが存在するかどうかを確認します。 UpdateSourceExceptionFilter コールバックを使用して、例外を処理するためのカスタム ハンドラーを提供するオプションがあります。 Binding で UpdateSourceExceptionFilter が指定されていない場合、バインディング エンジンは例外を使用して ValidationError を作成し、バインドされた要素の Validation.Errors コレクションに追加します。
また、(ターゲットからソースまたはソースからターゲットへの) どちらの方向でも有効な値の転送によって、 が Validationクリアされることに注意してください。Errors添付プロパティ。
詳細については、「データ バインディングの概要」の「 データの検証」を参照してください。
ルーティングされたイベント情報
識別子フィールド | ErrorEvent |
ルーティング戦略 | バブル |
代理人 | EventHandler<TEventArgs>によって制約されます。 ValidationErrorEventArgs |
適用対象
.NET