Validation.Error Evento associato

Definizione

Si verifica in caso di errore di convalida dell'elemento associato, ma solo per le associazioni il cui valore NotifyOnValidationError è 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 si verifica 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 viene trasferito un valore dalla proprietà di destinazione alla proprietà di origine, il motore di associazione dati rimuove prima qualsiasi ValidationError elemento che potrebbe essere stato aggiunto alla Validation.Errors proprietà associata dell'elemento associato. Verifica quindi se sono presenti elementi personalizzati ValidationRuledefiniti per tale Binding, nel qual caso chiama il Validate metodo su ognuno di ValidationRuleessi fino a quando uno di essi non viene eseguito in un errore o fino al passaggio di tutti.

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

  3. Se tutte le regole passano, 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 l'associazione ha un oggetto associato a esso e viene generata un'eccezione ExceptionValidationRule durante il passaggio 4, il motore di associazione verifica se è presente un UpdateSourceExceptionFilteroggetto . È possibile usare il UpdateSourceExceptionFilter callback per fornire un gestore personalizzato per gestire le eccezioni. Se un oggetto UpdateSourceExceptionFilter non è specificato nel Binding, il motore di associazione crea un oggetto ValidationError con l'eccezione Validation.Errors e lo aggiunge alla raccolta dell'elemento associato.

Si noti anche che un trasferimento di valore valido nella direzione (destinazione-a-origine o destinazione) cancella l'oggetto Validation.Errorsproprietà associata.

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

Informazioni evento indirizzato

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

Si applica a