Validation.Error Événement attaché
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Se produit quand l’élément lié rencontre une erreur de validation, mais uniquement pour les liaisons dont la valeur NotifyOnValidationError est true
.
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
Remarques
Le modèle de liaison de données WPF vous permet d’associer ValidationRules à votre Binding objet. La validation se produit lors du transfert de valeur de la cible à la liaison source avant l’appel du convertisseur. Voici une description du processus de validation :
Lorsqu’une valeur est transférée de la propriété cible à la propriété source, le moteur de liaison de données supprime d’abord les ValidationError éléments qui ont pu être ajoutés à la Validation.Errors propriété jointe de l’élément lié. Il vérifie ensuite s’il existe des s personnalisés ValidationRuledéfinis pour ce , auquel cas il appelle la Validate méthode sur chacun des s jusqu’à ce que l’un ValidationRuled’entre eux rencontre une erreur ou jusqu’à ce que Bindingtous passent.
Une fois qu’une règle personnalisée ne passe pas, le moteur de liaison crée un ValidationError objet et l’ajoute à la Validation.Errors collection de l’élément lié. Lorsque Validation.Errors n’est pas vide, la Validation.HasError propriété jointe de l’élément a la valeur
true
. En outre, si la propriété NotifyOnValidationError du Binding est définie surtrue
, le moteur de liaison déclenche l’événement Validation.Error attaché sur l’élément.Si toutes les règles sont passées, le moteur de liaison appelle le convertisseur, le cas échéant.
Si le convertisseur réussit, le moteur de liaison appelle le setter de la propriété source.
Si la liaison est associée à un ExceptionValidationRule et qu’une exception est levée à l’étape 4, le moteur de liaison vérifie s’il existe un UpdateSourceExceptionFilter. Vous avez la possibilité d’utiliser le UpdateSourceExceptionFilter rappel pour fournir un gestionnaire personnalisé pour gérer les exceptions. Si un UpdateSourceExceptionFilter n’est pas spécifié sur , Bindingle moteur de liaison crée un ValidationError avec l’exception et l’ajoute à la Validation.Errors collection de l’élément lié.
Notez également qu’un transfert de valeur valide dans l’une ou l’autre direction (de la cible à la source ou de la source à la cible) efface le Validation.Errorspropriété jointe.
Pour plus d’informations, consultez « Validation des données » dans Vue d’ensemble de la liaison de données.
Informations sur les événements acheminés
Champ Identificateur | ErrorEvent |
Stratégie de routage | Bouillonnant |
Délégué | EventHandler<TEventArgs>, limité par ValidationErrorEventArgs |