Validation.Error Zdarzenie dołączone
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Występuje, gdy element powiązany przechodzi do błędu walidacji, ale tylko w przypadku powiązań z wartością ustawioną NotifyOnValidationError na true.
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
Uwagi
Model powiązania danych WPF umożliwia skojarzenie ValidationRules z obiektem Binding . Walidacja odbywa się podczas wiązania transferu wartości źródłowej z powiązaniem przed wywołaniem konwertera. Poniżej opisano proces weryfikacji:
Gdy wartość jest przenoszona z właściwości docelowej do właściwości źródłowej, aparat powiązania danych najpierw usuwa wszystkie ValidationError , które mogły zostać dodane do Validation.Errors dołączonej właściwości elementu powiązanego. Następnie sprawdza, czy istnieją jakiekolwiek niestandardowe ValidationRuledefinicje dla tego Bindingelementu , w takim przypadku wywołuje Validate metodę na każdej z ValidationRulenich, dopóki jeden z nich nie wystąpi błąd lub dopóki wszystkie z nich nie zostaną przekazane.
Po utworzeniu reguły niestandardowej, która nie zostanie przekazana, aparat powiązania tworzy ValidationError obiekt i dodaje go do Validation.Errors kolekcji powiązanego elementu. Jeśli Validation.Errors właściwość nie jest pusta Validation.HasError , dołączona właściwość elementu jest ustawiona na
truewartość . Ponadto jeśli właściwość NotifyOnValidationError obiektu Binding jest ustawiona natrue, silnik wiązania zgłasza zdarzenie powiązane Validation.Error na elemencie.Jeśli wszystkie reguły są przekazywane, aparat powiązania wywołuje konwerter, jeśli istnieje.
Jeśli konwerter przejdzie pomyślnie, aparat powiązania wywołuje metodę ustawiającą właściwości źródłowej.
Jeśli powiązanie jest ExceptionValidationRule skojarzone z nim, a wyjątek jest zgłaszany w kroku 4, aparat powiązania sprawdza, czy istnieje UpdateSourceExceptionFilterelement . Istnieje możliwość użycia wywołania zwrotnego UpdateSourceExceptionFilter w celu zapewnienia niestandardowej procedury obsługi wyjątków. Jeśli parametr UpdateSourceExceptionFilter nie został określony w elemecie Binding, aparat powiązania tworzy ValidationError obiekt z wyjątkiem i dodaje go do Validation.Errors kolekcji elementu powiązanego.
Należy również zauważyć, że prawidłowy transfer wartości w obu kierunkach (target-to-source lub source-to-target) czyści Validationwłaściwość .Errors dołączone.
Aby uzyskać więcej informacji, zobacz "Weryfikacja danych" w temacie Omówienie powiązania danych.
Informacje o zdarzeniach kierowanych
| Przedmiot | Wartość |
|---|---|
| Pole identyfikatora | ErrorEvent |
| Strategia routingu | Propagacji |
| Delegat | EventHandler<TEventArgs>, ograniczone przez ValidationErrorEventArgs |