Validation.Error Evento Anexado
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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:
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.
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 comotrue, o mecanismo de vinculação acionará o evento Validation.Error anexado no elemento.Se todas as regras forem aprovadas, o motor de ligação chama então o conversor, caso exista.
Se o conversor passar, o motor de ligação chama o setter da propriedade da fonte.
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 |