Sdílet prostřednictvím


Validation.Error Přidružená událost

Definice

Nastane, když vázaný prvek narazí na chybu ověření, ale pouze pro vazby s hodnotou nastavenou NotifyOnValidationError na true.

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

Poznámky

Model datových vazeb WPF umožňuje přidružit ValidationRules k objektu Binding . Ověření probíhá během přenosu zdrojových hodnot cíle na vazbu před zavoláním převaděče. Proces ověření popisuje následující:

  1. Při přenosu hodnoty z cílové vlastnosti do zdrojové vlastnosti modul datových vazeb nejprve odebere všechny ValidationError , které mohly být přidány do Validation.Errors připojené vlastnosti vázaného prvku. Pak zkontroluje, jestli pro to Bindingexistují nějaké vlastní ValidationRulesady definované , v takovém případě volá metodu Validate na každém z ValidationRulenich, dokud jeden z nich neběží do chyby nebo dokud všechny neprojdou.

  2. Jakmile existuje vlastní pravidlo, které neprojde, vytvoří modul vazby ValidationError objekt a přidá ho do Validation.Errors kolekce vázaného prvku. Pokud Validation.Errors není prázdná, připojená Validation.HasError vlastnost prvku je nastavena na true. Také, pokud NotifyOnValidationError je vlastnost objektu Binding nastavena truena , pak binding engine vyvolá připojenou Validation.Error událost na elementu.

  3. Pokud všechna pravidla projdou, vazební modul pak zavolá převaděč, pokud existuje.

  4. Pokud převaděč projde, vazbu modul volá setter zdrojové vlastnosti.

  5. Pokud je ExceptionValidationRule k vazbě přidružená vazba a během kroku 4 se vyvolá výjimka, modul vazeb zkontroluje, zda existuje UpdateSourceExceptionFilter. Máte možnost použít UpdateSourceExceptionFilter zpětné volání k poskytnutí vlastní obslužné rutiny pro zpracování výjimek. UpdateSourceExceptionFilter Pokud není zadán v vazbu Bindingmodul vytvoří ValidationError s výjimkou a přidá ho do Validation.Errors kolekce vázaného prvku.

Všimněte si také, že platný přenos hodnoty v libovolném směru (cíl-zdroj nebo zdroj-cíl) vymaže připojenou ValidationErrors vlastnost.

Další informace najdete v tématu Ověření dat v přehledu datových vazeb.

Informace o směrované události

Položka Hodnota
Pole Identifikátor ErrorEvent
Strategie směrování Bublající
Delegát EventHandler<TEventArgs>, omezeno ValidationErrorEventArgs

Platí pro