Freigeben über


Validation.Error Angefügtes Ereignis

Definition

Tritt auf, wenn für das gebundene Element ein Validierungsfehler erkannt wird, jedoch nur bei Bindungen, deren NotifyOnValidationError-Wert auf true festgelegt ist.

see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler

Hinweise

Mit dem WPF-Datenbindungsmodell können Sie Ihrem Binding Objekt zuordnenValidationRules. Die Überprüfung erfolgt während der Bindungsziel-an-Bindung-Quellwertübertragung, bevor der Konverter aufgerufen wird. Im Folgenden wird der Validierungsprozess beschrieben:

  1. Wenn ein Wert von der Zieleigenschaft in die Quelleigenschaft übertragen wird, entfernt die Datenbindungs-Engine zunächst alle ValidationError Elemente, die der Validation.Errors angefügten Eigenschaft des gebundenen Elements hinzugefügt wurden. Anschließend wird überprüft, ob benutzerdefinierte ValidationRules für diese Bindingdefiniert sind. In diesem Fall wird die Validate -Methode für jedes der ValidationRules aufgerufen, bis einer von ihnen zu einem Fehler führt oder bis alle von ihnen erfolgreich sind.

  2. Sobald eine benutzerdefinierte Regel vorhanden ist, die nicht übergeben wird, erstellt die Bindungs-Engine ein ValidationError -Objekt und fügt es der Validation.Errors Auflistung des gebundenen Elements hinzu. Wenn Validation.Errors nicht leer ist, wird die angefügte Eigenschaft Validation.HasError des Elements auf true festgelegt. Wenn außerdem die NotifyOnValidationError-Eigenschaft der Binding auf true festgelegt ist, löst die Bindungs-Engine das angefügte Ereignis Validation.Error des Elements aus.

  3. Wenn alle Regeln erfolgreich sind, ruft die Bindungs-Engine den Konverter auf, sofern vorhanden.

  4. Wenn der Konverter erfolgreich ist, ruft die Bindungs-Engine den Setter der Quelleigenschaft auf.

  5. Wenn der Bindung ein ExceptionValidationRule zugeordnet ist und während Schritt 4 eine Ausnahme ausgelöst wird, überprüft die Bindungs-Engine, ob ein UpdateSourceExceptionFiltervorhanden ist. Sie können den UpdateSourceExceptionFilter-Rückruf verwenden, um einen benutzerdefinierten Handler zum Behandeln von Ausnahmen bereitzustellen. Wenn kein UpdateSourceExceptionFilter für die Binding angegeben ist, erstellt die Bindungs-Engine einen ValidationError mit der Ausnahme und fügt ihn der Validation.Errors-Auflistung des gebundenen Elements hinzu.

Beachten Sie auch, dass eine gültige Wertübertragung in beide Richtungen (ziel-to-source oder source-to-target) die Validationlöscht.Errorsangefügte Eigenschaft.

Weitere Informationen finden Sie unter "Datenvalidierung" in der Übersicht über die Datenbindung.

Informationen zum Routingereignis

Bezeichnerfeld ErrorEvent
Routingstrategie Bubbling
Delegat EventHandler<TEventArgs>, eingeschränkt durch ValidationErrorEventArgs

Gilt für: