Binding.UpdateSourceExceptionFilter Propriedade
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.
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.