ValidationError Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un errore di convalida creato dal motore di associazione quando un oggetto ValidationRule segnala un errore di convalida o tramite il metodo MarkInvalid(BindingExpressionBase, ValidationError) in modo esplicito.
public ref class ValidationError
public class ValidationError
type ValidationError = class
Public Class ValidationError
- Ereditarietà
-
ValidationError
Esempio
Nell'esempio seguente viene illustrato un trigger di stile che crea un ToolTip oggetto che segnala un messaggio di errore di convalida. La Validation.Errors proprietà associata restituisce una raccolta di ValidationError oggetti sull'elemento associato.
<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>
Commenti
Il modello di data binding WPF consente di associare regole di convalida all'oggetto Binding . La convalida viene eseguita durante il trasferimento del valore da destinazione a origine prima che venga chiamato il convertitore. Viene di seguito descritto il processo di convalida.
Quando un valore viene trasferito dalla proprietà di destinazione alla proprietà di origine, il motore di associazione dati rimuove prima di tutto qualsiasi ValidationError elemento aggiunto alla Validation.Errors proprietà associata dell'elemento associato. Verifica quindi se sono definite regole di convalida personalizzate per tale Bindingoggetto , nel qual caso chiama il Validate metodo su ognuno ValidationRule fino a quando uno di essi non ha esito negativo o fino a quando non vengono passate tutte.
Quando è presente una regola personalizzata che non passa, il motore di associazione crea un ValidationError oggetto e lo aggiunge alla raccolta dell'elemento associato Validation.Errors . Quando Validation.Errors non è vuoto, la Validation.HasError proprietà associata dell'elemento è impostata su
true
. Inoltre, se la proprietà NotifyOnValidationError dell'oggetto Binding è impostata sutrue
, il motore di binding genera l'evento associato Validation.Error sull'elemento.Se tutte le regole vengono passate, il motore di associazione chiama il convertitore, se presente.
Se il convertitore passa, il motore di associazione chiama il setter della proprietà di origine.
Se al binding è associato un oggetto ExceptionValidationRule e viene generata un'eccezione durante il passaggio 3 o 4, il motore di associazione verifica se è presente un oggetto UpdateSourceExceptionFilter. È possibile usare il callback UpdateSourceExceptionFilter per fornire un gestore personalizzato per la gestione delle eccezioni. UpdateSourceExceptionFilter Se un oggetto non viene specificato in Binding, il motore di associazione crea un ValidationError oggetto con l'eccezione e lo aggiunge alla Validation.Errors raccolta dell'elemento associato.
Un trasferimento di valore valido in entrambe le direzioni (destinazione all'origine o alla destinazione) cancella la Validation.Errors proprietà associata.
Costruttori
ValidationError(ValidationRule, Object, Object, Exception) |
Inizializza una nuova istanza della classe ValidationError con i parametri specificati. |
ValidationError(ValidationRule, Object) |
Inizializza una nuova istanza della classe ValidationError con i parametri specificati. |
Proprietà
BindingInError |
Ottiene l'oggetto BindingExpression o MultiBindingExpression dell'oggetto ValidationError corrente. L'oggetto viene contrassegnato come non valido in modo esplicito o presenta una regola di convalida con errore. |
ErrorContent |
Ottiene o imposta un oggetto che fornisce contesto aggiuntivo per questo ValidationError, ad esempio una stringa che descrive l'errore. |
Exception |
Ottiene o imposta l'oggetto Exception che ha generato l'oggetto ValidationError, se l'errore è il risultato di un'eccezione. |
RuleInError |
Ottiene o imposta l'oggetto ValidationRule che ha generato l'oggetto ValidationError corrente, se l'errore è il risultato di una regola di convalida. |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |