Binding.UpdateSourceExceptionFilter Propriedade

Definição

Obtém ou define um handler que podes usar para fornecer lógica personalizada para lidar com exceções que o motor de binding encontra durante a atualização do valor da fonte de binding. Isto só se aplica se tiver associado um ExceptionValidationRule à sua encadernação.

public:
 property System::Windows::Data::UpdateSourceExceptionFilterCallback ^ UpdateSourceExceptionFilter { System::Windows::Data::UpdateSourceExceptionFilterCallback ^ get(); void set(System::Windows::Data::UpdateSourceExceptionFilterCallback ^ value); };
public System.Windows.Data.UpdateSourceExceptionFilterCallback UpdateSourceExceptionFilter { get; set; }
member this.UpdateSourceExceptionFilter : System.Windows.Data.UpdateSourceExceptionFilterCallback with get, set
Public Property UpdateSourceExceptionFilter As UpdateSourceExceptionFilterCallback

Valor de Propriedade

Um método que fornece lógica personalizada para lidar com exceções que o motor de ligação encontra durante a atualização do valor da fonte de ligação.

Exemplos

A Text propriedade do seguinte TextBox é ligada a dados a uma propriedade Age3 de origem que é do tipo int. Verifica-se ExceptionValidationRule exceções que são lançadas durante a atualização da propriedade de origem (como quando o utilizador insere um valor que não pode ser convertido em inteiro).

<TextBox Name="textBox3" Width="50" FontSize="15"
         Grid.Row="4" Grid.Column="1" Margin="2"
         Validation.ErrorTemplate="{StaticResource validationTemplate}"
         Style="{StaticResource textBoxInError}">
  <TextBox.Text>
    <Binding Path="Age3" Source="{StaticResource ods}"
             UpdateSourceTrigger="PropertyChanged">
      <Binding.ValidationRules>
        <ExceptionValidationRule/>
      </Binding.ValidationRules>
    </Binding>
  </TextBox.Text>
</TextBox>

Podes fornecer lógica personalizada para tratar dessas exceções. O exemplo seguinte mostra como usar a UpdateSourceExceptionFilter propriedade para definir um UpdateSourceExceptionFilterCallback.


BindingExpression myBindingExpression = textBox3.GetBindingExpression(TextBox.TextProperty);
Binding myBinding = myBindingExpression.ParentBinding;
myBinding.UpdateSourceExceptionFilter = new UpdateSourceExceptionFilterCallback(ReturnExceptionHandler);
myBindingExpression.UpdateSource();

Segue-se um exemplo de implementação de um UpdateSourceExceptionFilterCallback.

object ReturnExceptionHandler(object bindingExpression, Exception exception)
{
    return "This is from the UpdateSourceExceptionFilterCallBack.";
}

O UpdateSourceExceptionFilterCallback pode também devolver null, a própria exceção, ou um ValidationError. Para obter mais informações, veja UpdateSourceExceptionFilterCallback.

Para a amostra completa, veja Amostra de Validação de Ligação.

Observações

É ExceptionValidationRule uma regra de validação incorporada que verifica exceções lançadas durante a atualização da propriedade da fonte de ligação. Se tiver associado o ExceptionValidationRule com o seu Binding objeto, pode usar esta propriedade para definir um handler que forneça lógica personalizada para gerir essas 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.

Aplica-se a