ValidationError Klasa

Definicja

Reprezentuje błąd weryfikacji, który jest tworzony przez aparat powiązania, gdy zgłasza ValidationRule błąd weryfikacji lub za pośrednictwem MarkInvalid(BindingExpressionBase, ValidationError) metody jawnie.

public ref class ValidationError
public class ValidationError
type ValidationError = class
Public Class ValidationError
Dziedziczenie
ValidationError

Przykłady

W poniższym przykładzie pokazano wyzwalacz stylu, który tworzy element ToolTip , który zgłasza komunikat o błędzie weryfikacji. Dołączona Validation.Errors właściwość zwraca kolekcję ValidationError obiektów w powiązanym elemecie.

<Style x:Key="textStyleTextBox" TargetType="TextBox">
  <Setter Property="Foreground" Value="#333333" />
  <Setter Property="MaxLength" Value="40" />
  <Setter Property="Width" Value="392" />
  <Style.Triggers>
    <Trigger Property="Validation.HasError" Value="true">
      <Setter Property="ToolTip"
        Value="{Binding RelativeSource={RelativeSource Self},
                        Path=(Validation.Errors)[0].ErrorContent}"/>
    </Trigger>
  </Style.Triggers>
</Style>

Uwagi

Model powiązania danych WPF umożliwia skojarzenie reguł walidacji z obiektem Binding . Walidacja występuje podczas transferu wartości docelowej do źródła przed wywołania konwertera. Poniżej opisano proces weryfikacji.

  1. 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 jakiekolwiek niestandardowe reguły weryfikacji są zdefiniowane dla tego Bindingobiektu , w takim przypadku wywołuje metodę Validate dla każdego ValidationRule z nich, dopóki jedna z nich nie powiedzie się, czy wszystkie z nich nie zostaną przekazane.

  2. 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 NotifyOnValidationError właściwość obiektu Binding jest ustawiona na true, aparat powiązania zgłasza Validation.Error dołączone zdarzenie w elemecie .

  3. Jeśli wszystkie reguły zostaną przekazane, aparat powiązania wywołuje konwerter, jeśli istnieje.

  4. Jeśli konwerter przejdzie pomyślnie, aparat powiązania wywołuje metodę ustawiającą właściwości źródłowej.

  5. Jeśli powiązanie jest ExceptionValidationRule skojarzone z nim i zgłaszany jest wyjątek w kroku 3 lub 4, aparat powiązania sprawdza, czy istnieje UpdateSourceExceptionFilterelement . Możesz użyć wywołania zwrotnego UpdateSourceExceptionFilter , aby zapewnić niestandardową procedurę obsługi wyjątków. Jeśli parametr nie zostanie określony w elemecie UpdateSourceExceptionFilter Binding, aparat powiązania tworzy ValidationError obiekt z wyjątkiem i dodaje go do Validation.Errors kolekcji powiązanego elementu.

Prawidłowy transfer wartości w obu kierunkach (element docelowy do źródła lub źródła do obiektu docelowego) spowoduje wyczyszczenie dołączonej Validation.Errors właściwości.

Konstruktory

ValidationError(ValidationRule, Object)

Inicjuje ValidationError nowe wystąpienie klasy z określonymi parametrami.

ValidationError(ValidationRule, Object, Object, Exception)

Inicjuje ValidationError nowe wystąpienie klasy z określonymi parametrami.

Właściwości

BindingInError

Pobiera obiekt BindingExpression lub MultiBindingExpression tego ValidationErrorobiektu . Obiekt jest oznaczony jako nieprawidłowy jawnie lub ma regułę weryfikacji, która zakończyła się niepowodzeniem.

ErrorContent

Pobiera lub ustawia obiekt, który udostępnia dodatkowy kontekst dla tego ValidationErrorobiektu , na przykład ciąg opisujący błąd.

Exception

Pobiera lub ustawia Exception obiekt, który był przyczyną tego ValidationErrorobiektu , jeśli błąd jest wynikiem wyjątku.

RuleInError

Pobiera lub ustawia ValidationRule obiekt, który był przyczyną tego ValidationErrorobiektu , jeśli błąd jest wynikiem reguły poprawności.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też