Partilhar via


Validation.Error Evento anexado

Definição

Ocorre quando o elemento associado é executado em um erro de validação, mas apenas para associações com o valor NotifyOnValidationError definido como true.

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

Comentários

O modelo de associação de dados do WPF permite que você associe ValidationRules ao seu Binding objeto. A validação ocorre durante a transferência de valor de origem de associação de destino para associação antes que o conversor seja chamado. O seguinte descreve o processo de validação:

  1. Quando um valor está sendo transferido da propriedade de destino para a propriedade de origem, o mecanismo de associação de dados remove primeiro qualquer ValidationError um que possa ter sido adicionado à Validation.Errors propriedade anexada do elemento associado. Em seguida, ele verifica se há algum s personalizado ValidationRuledefinido para esse Binding, nesse caso, ele chama o Validate método em cada um dos ValidationRules até que um deles seja executado em um erro ou até que todos eles passem.

  2. Depois que há uma regra personalizada que não passa, o mecanismo de associação cria um ValidationError objeto e o Validation.Errors adiciona à coleção do elemento associado. Quando Validation.Errors não estiver vazio, a Validation.HasError propriedade anexada do elemento será definida como true. Além disso, se a propriedade NotifyOnValidationError do Binding estiver definida como true, o mecanismo de associação gerará o evento anexado Validation.Error no elemento.

  3. Se todas as regras forem aprovadas, o mecanismo de associação chamará o conversor, se houver uma.

  4. Se o conversor for aprovado, o mecanismo de associação chamará o setter da propriedade de origem.

  5. Se a associação tiver uma ExceptionValidationRule associada a ela e uma exceção for gerada durante a etapa 4, o mecanismo de associação verificará se há um UpdateSourceExceptionFilter. Você tem a opção de usar o UpdateSourceExceptionFilter retorno de chamada para fornecer um manipulador personalizado para lidar com exceções. Se um UpdateSourceExceptionFilter não for especificado no , o Bindingmecanismo de associação criará um ValidationError com a exceção e o Validation.Errors adicionará à coleção do elemento associado.

Observe também que uma transferência de valor válida em qualquer direção (de destino para fonte ou de origem para destino) limpa o Validation.Errorspropriedade anexada.

Para obter mais informações, consulte "Validação de dados" na Visão geral da associação de dados.

Informações de evento encaminhado

Campo Identificador ErrorEvent
Estratégia de roteamento Borbulhando
Delegar EventHandler<TEventArgs>, restrito por ValidationErrorEventArgs

Aplica-se a