Validation.Error Angefügtes Ereignis

Definition

Tritt auf, wenn das gebundene Element einen Validierungsfehler erkennt, jedoch nur bei Bindungen, deren NotifyOnValidationError-Wert auf true festgelegt ist.Occurs when the bound element runs into a validation error, but only for bindings with the NotifyOnValidationError value set to true.

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

Hinweise

Das WPFWPF Daten Bindungs Modell ermöglicht es Ihnen, ValidationRules dem- Binding Objekt zuzuordnen.The WPFWPF data binding model enables you to associate ValidationRules with your Binding object. Die Überprüfung erfolgt während der Bindung der Quell Wertübertragung von Ziel zu Bindung, bevor der Konverter aufgerufen wird.Validation occurs during binding target-to-binding source value transfer before the converter is called. Im folgenden wird der Überprüfungsprozess beschrieben:The following describes the validation process:

  1. Wenn ein Wert von der Ziel Eigenschaft zur Quell Eigenschaft übertragen wird, entfernt die Daten Bindungs-Engine zuerst alle ValidationError , die möglicherweise der Validation.Errors angefügten-Eigenschaft des gebundenen Elements hinzugefügt wurden.When a value is being transferred from the target property to the source property, the data binding engine first removes any ValidationError that may have been added to the Validation.Errors attached property of the bound element. Anschließend wird überprüft ValidationRule, ob für diese Bindingbenutzerdefinierte s definiert sind. in diesem Fall wird die Validate -Methode für jedes ValidationRules aufgerufen, bis eines von Ihnen in einem Fehler auftritt oder bis alle Änderungen bestanden wurden.It then checks if there are any custom ValidationRules defined for that Binding, in which case it calls the Validate method on each of the ValidationRules until one of them runs into an error or until all of them pass.

  2. Wenn eine benutzerdefinierte Regel nicht übergeben wird, erstellt die Bindungs-Engine ein ValidationError -Objekt und fügt es der Validation.Errors -Auflistung des gebundenen Elements hinzu.Once there is a custom rule that does not pass, the binding engine creates a ValidationError object and adds it to the Validation.Errors collection of the bound element. Wenn Validation.Errors nicht leer ist, wird Validation.HasError die angefügte-Eigenschaft des-Elements trueauf festgelegt.When Validation.Errors is not empty, the Validation.HasError attached property of the element is set to true. Auch wenn die NotifyOnValidationError -Eigenschaft Binding von auf truefestgelegt ist, löst die Bindungs-Engine das Validation.Error angefügte-Ereignis für das-Element aus.Also, if the NotifyOnValidationError property of the Binding is set to true, then the binding engine raises the Validation.Error attached event on the element.

  3. Wenn alle Regeln bestanden werden, ruft die Bindungs-Engine dann den Konverter auf, sofern vorhanden.If all of the rules pass, the binding engine then calls the converter, if one exists.

  4. Wenn der Konverter übergibt, ruft die Bindungs-Engine den Setter der Source-Eigenschaft auf.If the converter passes, the binding engine calls the setter of the source property.

  5. Wenn der Bindung ein ExceptionValidationRule zugeordnet ist und während Schritt 4 eine Ausnahme ausgelöst wird, prüft die Bindungs-Engine, ob eine UpdateSourceExceptionFiltervorhanden ist.If the binding has an ExceptionValidationRule associated with it and an exception is thrown during step 4, the binding engine checks to see if there is a UpdateSourceExceptionFilter. Sie haben die Möglichkeit, den Rückruf UpdateSourceExceptionFilter zum Bereitstellen eines benutzerdefinierten Handlers für die Behandlung von Ausnahmen zu verwenden.You have the option to use the UpdateSourceExceptionFilter callback to provide a custom handler for handling exceptions. Wenn ein UpdateSourceExceptionFilter Bindingnicht in angegeben ist, erstellt die Bindungs-Engine eine ValidationError mit der-Ausnahme und fügt Sie der Validation.Errors -Auflistung des gebundenen Elements hinzu.If an UpdateSourceExceptionFilter is not specified on the Binding, the binding engine creates a ValidationError with the exception and adds it to the Validation.Errors collection of the bound element.

Beachten Sie außerdem, dass eine gültige Wertübertragung in beide Richtungen (Ziel-zu-Quelle oder Quelle-zu-Ziel) ValidationdasErrors löscht. angefügte Eigenschaft.Also note that a valid value transfer in either direction (target-to-source or source-to-target) clears the Validation.Errorsattached property.

Weitere Informationen finden Sie unter "Datenvalidierung" in der Übersicht über die Datenbindung.For more information, see "Data Validation" in Data Binding Overview.

Informationen zum RoutingereignisRouted Event Information

BezeichnerfeldIdentifier field ErrorEvent
Routing StrategieRouting strategy BlasenBubbling
delegateDelegate EventHandler<TEventArgs>, eingeschränkt vonValidationErrorEventArgsEventHandler<TEventArgs>, constrained by ValidationErrorEventArgs

Gilt für: