Binding.UpdateSourceExceptionFilter Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define um manipulador que você pode usar para fornecer lógica personalizada para lidar com exceções que o mecanismo de associação encontra durante a atualização do valor de origem da associação. Isso será aplicável somente se você tiver associado um ExceptionValidationRule à associaçã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 da propriedade
Um método que fornece lógica personalizada para lidar com exceções que o mecanismo de associação encontra durante a atualização do valor de origem da associação.
Exemplos
A Text propriedade a seguir TextBox é associada a dados a uma propriedade Age3
de origem do tipo int
. O ExceptionValidationRule verifica se há exceções geradas durante a atualização da propriedade de origem (como quando o usuário insere um valor que não pode ser convertido em um 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>
Você pode fornecer lógica personalizada para lidar com essas exceções. O exemplo a seguir 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();
Veja a seguir um exemplo de implementação de um UpdateSourceExceptionFilterCallback.
object ReturnExceptionHandler(object bindingExpression, Exception exception)
{
return "This is from the UpdateSourceExceptionFilterCallBack.";
}
O UpdateSourceExceptionFilterCallback também pode retornar null
, a exceção em si ou um ValidationError. Para obter mais informações, consulte UpdateSourceExceptionFilterCallback.
Para obter o exemplo completo, consulte Exemplo de validação de associação.
Comentários
O ExceptionValidationRule é uma regra de validação interna que verifica se há exceções geradas durante a atualização da propriedade de origem da associação. Se você tiver associado o ExceptionValidationRule ao seu Binding objeto, poderá usar essa propriedade para definir um manipulador para fornecer lógica personalizada para lidar com essas exceções. Se um UpdateSourceExceptionFilter não for especificado no Binding, o mecanismo de associação criará um ValidationError com a exceção e o Validation.Errors adicionará à coleção do elemento associado.