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ą na NotifyOnValidationErrortrue
.
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 do powiązania 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 metodę Validate na każdym z ValidationRulenich, dopóki jeden z nich nie wystąpi błąd lub do momentu przekazania wszystkich z nich.
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. Gdy Validation.Errors właściwość nie jest pusta, Validation.HasError dołączona właściwość elementu jest ustawiona na
true
. Ponadto jeśli właściwość NotifyOnValidationError obiektu Binding jest ustawiona natrue
, aparat powiązania zgłasza dołączone zdarzenie Validation.Error w elemencie.Jeśli wszystkie reguły są przekazywane, aparat powiązania wywołuje konwerter, jeśli istnieje.
Jeśli konwerter przejdzie, aparat powiązania wywołuje setter 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 UpdateSourceExceptionFilter. Istnieje możliwość użycia wywołania zwrotnego w celu zapewnienia niestandardowej UpdateSourceExceptionFilter procedury obsługi wyjątków. Jeśli element UpdateSourceExceptionFilter nie został określony w elemecie Binding, aparat powiązania tworzy ValidationError obiekt z wyjątkiem i dodaje go do Validation.Errors kolekcji powiązanego elementu.
Należy również pamiętać, że prawidłowy transfer wartości w kierunku (element docelowy do źródła lub źródło-cel) czyści Validationobiekt .Errorsdołączona właściwość.
Aby uzyskać więcej informacji, zobacz "Weryfikacja danych" w temacie Omówienie powiązania danych.
Informacje dotyczące kierowanego zdarzenia
Pole identyfikatora | ErrorEvent |
Strategia routingu | Propagacji |
Delegat | EventHandler<TEventArgs>, ograniczone przez ValidationErrorEventArgs |