Condividi tramite


Validation.Error Evento associato

Definizione

Si verifica quando l'elemento associato viene eseguito in un errore di convalida, ma solo per le associazioni con il NotifyOnValidationError valore impostato su true.

see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler

Commenti

Il modello di data binding WPF consente di associare ValidationRules l'oggetto Binding . La convalida viene eseguita durante il trasferimento del valore di origine da destinazione a associazione prima che venga chiamato il convertitore. Di seguito viene descritto il processo di convalida:

  1. Quando un valore viene trasferito dalla proprietà di destinazione alla proprietà di origine, il motore di associazione dati rimuove prima di tutto tutti gli elementi ValidationError che potrebbero essere stati aggiunti alla Validation.Errors proprietà associata dell'elemento associato. Controlla quindi se sono presenti oggetti personalizzati ValidationRuledefiniti per tale Binding, nel qual caso chiama il Validate metodo su ognuno di ValidationRuleessi fino a quando uno di essi non viene generato un errore o fino a quando non vengono passate tutte.

  2. Quando è presente una regola personalizzata che non viene passata, il motore di associazione crea un ValidationError oggetto e lo aggiunge alla Validation.Errors raccolta dell'elemento associato. Quando Validation.Errors non è vuoto, la Validation.HasError proprietà associata dell'elemento è impostata su true. Inoltre, se la NotifyOnValidationError proprietà di è impostata su true, il motore di Binding associazione genera l'evento Validation.Error associato sull'elemento .

  3. Se tutte le regole vengono passate, il motore di associazione chiama il convertitore, se presente.

  4. Se il convertitore passa, il motore di associazione chiama il setter della proprietà di origine.

  5. Se al binding è associato un ExceptionValidationRule oggetto e viene generata un'eccezione durante il passaggio 4, il motore di associazione verifica se è presente un oggetto UpdateSourceExceptionFilter. È possibile usare il UpdateSourceExceptionFilter callback per fornire un gestore personalizzato per la gestione delle eccezioni. Se un oggetto UpdateSourceExceptionFilter 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.

Si noti anche che un trasferimento di valore valido in entrambe le direzioni (da destinazione a origine o da origine a destinazione) cancella la Validationproprietà associata .Errors

Per altre informazioni, vedere "Convalida dei dati" in Panoramica del data binding.

Informazioni sugli eventi indirizzati

Elemento Valore
Campo Identificatore ErrorEvent
Strategia di routing Bubbling
Delegato EventHandler<TEventArgs>, vincolato da ValidationErrorEventArgs

Si applica a