Validation.Error Zdarzenie dołączone
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
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.
Pole identyfikatora | ErrorEvent |
Strategia routingu | Propagacji |
Delegat | EventHandler<TEventArgs>, ograniczone przez ValidationErrorEventArgs |
Produkt | Wersje |
---|---|
.NET Framework | 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
Windows Desktop | 3.0, 3.1, 5, 6, 7, 8, 9 |
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: