Validation.Error Přidružená událost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vyvolá se, 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é vazby WPF umožňuje přidružení ValidationRules k objektu Binding . K ověření dojde během přenosu zdrojové hodnoty cíle na vazbu před zavoláním převaděče. Proces ověření popisujeme následovně:
Při přenosu hodnoty z cílové vlastnosti do vlastnosti zdroje 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. Poté zkontroluje, jestli jsou pro Bindingtento objekt definovány nějaké vlastní ValidationRuleobjekty . V takovém případě volá metodu Validate na každém z ValidationRules, dokud jeden z nich nenarazí na chybu nebo dokud všechny neprojdou.
Jakmile existuje vlastní pravidlo, které nepředá, modul vazeb vytvoří ValidationError objekt a přidá ho do Validation.Errors kolekce vázaného elementu. Pokud Validation.Errors není prázdná, přidružená Validation.HasError vlastnost elementu je nastavena na
true
hodnotu . Pokud je vlastnost NotifyOnValidationError objektu Binding nastavená natrue
, pak modul vazby vyvolá u elementu přidruženou událost Validation.Error.Pokud všechna pravidla projdou, modul vazeb pak zavolá převaděč, pokud existuje.
Pokud převaděč projde, modul vazby volá setter zdrojové vlastnosti.
Pokud má vazba přidruženou ExceptionValidationRule vazbu a během kroku 4 dojde k výjimce, modul vazeb zkontroluje, jestli existuje UpdateSourceExceptionFilter. Můžete použít UpdateSourceExceptionFilter zpětné volání k poskytnutí vlastní obslužné rutiny pro zpracování výjimek. UpdateSourceExceptionFilter Pokud není zadán v objektu Binding, modul vazeb vytvoří ValidationError objekt s výjimkou a přidá ho do Validation.Errors kolekce vázaného elementu.
Všimněte si také, že platný přenos hodnoty v obou směrech (cíl-zdroj nebo zdroj-cíl) vymaže Validation.Errorspřipojená vlastnost.
Další informace najdete v tématu Ověření dat v přehledu datových vazeb.
Informace o směrované události
Pole Identifikátor | ErrorEvent |
Strategie směrování | Bublající |
Delegát | EventHandler<TEventArgs>, omezené ValidationErrorEventArgs |