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.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, dem- ValidationRules 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, die ValidationError 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 benutzerdefinierte s definiert sind Binding . in diesem Fall wird die- Validate Methode für jedes s aufgerufen, ValidationRule 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-Auflistung Validation.Errors 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 die angefügte Eigenschaft Validation.HasError des Elements auf true festgelegt.When Validation.Errors is not empty, the Validation.HasError attached property of the element is set to true. 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.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 vorhanden ist UpdateSourceExceptionFilter .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 können den UpdateSourceExceptionFilter-Rückruf verwenden, um einen benutzerdefinierten Handler zum Behandeln von Ausnahmen bereitzustellen.You have the option to use the UpdateSourceExceptionFilter callback to provide a custom handler for handling exceptions. 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.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) das löscht Validation . Errors 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
DelegatDelegate EventHandler<TEventArgs>, eingeschränkt von ValidationErrorEventArgsEventHandler<TEventArgs>, constrained by ValidationErrorEventArgs

Gilt für: