Validation.Errors Propriedade Anexada

Definição

Obtém a coleção de todos os objetos ativos ValidationError no elemento vinculado.

see GetErrors
see GetErrors
see GetErrors

Observações

A aplicação não pode modificar o conteúdo desta coleção. Consulte a secção Exemplo para um exemplo de como usar esta propriedade anexada.

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 ValidationError que possa ter sido adicionada à propriedade System.Windows.Controls.Validation.Errors associada 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 objeto ValidationError e adiciona-o à coleção System.Windows.Controls.Validation.Errors do elemento vinculado. Quando System.Windows.Controls.Validation.Errors não está vazio, a propriedade System.Windows.Controls.Validation.HasError associada ao elemento é definida para true. Além disso, se a propriedade NotifyOnValidationError do Binding estiver definida como true, o mecanismo de vinculação acionará o evento System.Windows.Controls.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 um UpdateSourceExceptionFilter não for especificado no Binding, o motor de ligação cria um ValidationError com exceção e adiciona-o à coleção System.Windows.Controls.Validation.Errors 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 informações sobre o comportamento desta propriedade em MultiBinding cenários, veja ValidationError.

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

Utilização de Texto XAML

Ver Observações. A Errors coleção em si não é configurável pelo utilizador, mas pode usá-la numa definição de modelo de controlo em XAML.

Informação de Propriedade de Dependência

Item Value
Campo identificador ErrorsProperty
Propriedades dos metadados definidas como true IsNotDataBindable

Aplica-se a