ValidationError Klass

Definition

Representerar ett valideringsfel som skapas antingen av bindningsmotorn när en ValidationRule rapporterar ett valideringsfel eller via MarkInvalid(BindingExpressionBase, ValidationError) metoden explicit.

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

Exempel

I följande exempel visas en formatutlösare som skapar en ToolTip som rapporterar ett verifieringsfelmeddelande. Den Validation.Errors bifogade egenskapen returnerar en samling ValidationError objekt på det bundna elementet.

<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>

Kommentarer

Med WPF databindningsmodell kan du associera valideringsregler med ditt Binding-objekt. Valideringen sker under värdeöverföring från mål till källa innan konverteraren anropas. Följande beskriver valideringsprocessen.

  1. När ett värde överförs från målegenskapen till källegenskapen tar databindningsmotorn först bort alla ValidationError som kan ha lagts till i den Validation.Errors kopplade egenskapen för det bundna elementet. Den kontrollerar sedan om några anpassade valideringsregler har definierats för Bindingden , i vilket fall metoden anropas Validate på var och ValidationRule en tills en av dem misslyckas eller tills alla godkänns.

  2. När det finns en anpassad regel som inte godkänns skapar bindningsmotorn ett ValidationError-objekt och lägger till det i samlingen Validation.Errors för det bundna elementet. När Validation.Errors inte är tom anges Validation.HasError bifogad egenskap för elementet till true. Om egenskapen NotifyOnValidationError för Binding är inställd på truegenererar bindningsmotorn dessutom den Validation.Error kopplade händelsen för elementet.

  3. Om alla regler godkänns anropar bindningsmotorn konverteraren om det finns någon.

  4. Om konverteraren godkänns anropar bindningsmotorn setter för källegenskapen.

  5. Om bindningen har en ExceptionValidationRule associerad med den och ett undantag utlöses under steg 3 eller 4 kontrollerar bindningsmotorn om det finns en UpdateSourceExceptionFilter. Du kan använda UpdateSourceExceptionFilter återanrop för att tillhandahålla en anpassad hanterare för hantering av undantag. Om en UpdateSourceExceptionFilter inte anges på Binding skapar bindningsmotorn en ValidationError med undantaget och lägger till den i samlingen Validation.Errors för det bundna elementet.

En giltig värdeöverföring i endera riktningen (mål till källa eller källa till mål) rensar den Validation.Errors anslutna egenskapen.

Konstruktorer

Name Description
ValidationError(ValidationRule, Object, Object, Exception)

Initierar en ny instans av ValidationError klassen med de angivna parametrarna.

ValidationError(ValidationRule, Object)

Initierar en ny instans av ValidationError klassen med de angivna parametrarna.

Egenskaper

Name Description
BindingInError

BindingExpression Hämtar objektet eller MultiBindingExpression för den här ValidationError. Objektet är antingen markerat som ogiltigt explicit eller har en misslyckad verifieringsregel.

ErrorContent

Hämtar eller anger ett objekt som ger ytterligare kontext för detta ValidationError, till exempel en sträng som beskriver felet.

Exception

Hämtar eller anger det Exception objekt som var orsaken till detta ValidationError, om felet är resultatet av ett undantag.

RuleInError

Hämtar eller anger det ValidationRule objekt som var orsaken till detta ValidationError, om felet är resultatet av en verifieringsregel.

Metoder

Name Description
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för

Se även