Validation.Error Evento Anexado

Definição

Ocorre quando o elemento limitado encontra um erro de validação, mas apenas para ligações com o NotifyOnValidationError valor definido em true.

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

Observações

O modelo de ligação de dados WPF permite-lhe associar ValidationRules ao seu objeto Binding. A validação ocorre durante a transferência de valor de alvo para fonte de ligação antes de o conversor ser chamado. O seguinte descreve o processo de validação:

  1. Quando um valor está a ser transferido da propriedade de destino para a propriedade de origem, o motor de ligação de dados remove primeiro qualquer valor ValidationError que possa ter sido adicionado à Validation.Errors propriedade anexada do elemento ligado. Depois verifica se existem s personalizados ValidationRuledefinidos para esse Binding, caso em que chama o Validate método em cada um dos ValidationRules até que um deles encontre um erro ou até que todos passem.

  2. Quando existe uma regra personalizada que não passa, o motor de ligação cria um ValidationError objeto e adiciona-o à Validation.Errors coleção do elemento atribuído. Quando Validation.Errors não é vazio, a Validation.HasError propriedade associada ao elemento é definida como true. Além disso, se a propriedade NotifyOnValidationError do Binding estiver definida como true, o mecanismo de vinculação acionará o evento Validation.Error anexado no elemento.

  3. Se todas as regras forem aprovadas, o motor de ligação chama então o conversor, caso exista.

  4. Se o conversor passar, o motor de ligação chama o setter da propriedade da fonte.

  5. Se o binding tiver um ExceptionValidationRule associado e uma exceção for lançada durante o passo 4, o motor de binding verifica se existe um UpdateSourceExceptionFilter. Tens a opção de usar o UpdateSourceExceptionFilter callback para fornecer um handler personalizado para lidar com exceções. Se an UpdateSourceExceptionFilter não for especificado em , Bindingo motor de ligação cria a ValidationError com exceção e adiciona-o à Validation.Errors coleção do elemento ligado.

Note-se também que uma transferência de valor válida em qualquer direção (alvo para fonte ou fonte para alvo) elimina a Validationpropriedade .Errors anexada.

Para mais informações, consulte "Data Validation" em Data Binding Overview.

Informação sobre Eventos Roteados

Item Value
Campo identificador ErrorEvent
Estratégia de encaminhamento Borbulhar
Delegado EventHandler<TEventArgs>, restrito por ValidationErrorEventArgs

Aplica-se a