Binding.UpdateSourceExceptionFilter Propriété

Définition

Obtient ou définit un gestionnaire que vous pouvez utiliser pour fournir une logique personnalisée pour gérer les exceptions que le moteur de liaison rencontre pendant la mise à jour de la valeur source de liaison. Cela s’applique uniquement si vous avez associé un ExceptionValidationRule à votre liaison.

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

Valeur de propriété

Méthode qui fournit la logique personnalisée pour gérer les exceptions que le moteur de liaison rencontre pendant la mise à jour de la valeur source de liaison.

Exemples

La Text propriété de ce qui suit TextBox est liée aux données à une propriété Age3 source de type int. Vérifie ExceptionValidationRule les exceptions levées lors de la mise à jour de la propriété source (par exemple, lorsque l’utilisateur entre une valeur qui ne peut pas être convertie en entier).

<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>

Vous pouvez fournir une logique personnalisée pour gérer ces exceptions. L’exemple suivant montre comment utiliser la UpdateSourceExceptionFilter propriété pour définir un UpdateSourceExceptionFilterCallback.


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

Voici un exemple d’implémentation d’un UpdateSourceExceptionFilterCallback.

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

peut UpdateSourceExceptionFilterCallback également retourner null, l’exception elle-même ou un ValidationError. Pour plus d'informations, consultez UpdateSourceExceptionFilterCallback.

Pour obtenir l’exemple complet, consultez Exemple de validation de liaison.

Remarques

Est ExceptionValidationRule une règle de validation intégrée qui vérifie les exceptions levées lors de la mise à jour de la propriété source de liaison. Si vous avez associé à ExceptionValidationRule votre Binding objet, vous pouvez utiliser cette propriété pour définir un gestionnaire afin de fournir une logique personnalisée pour gérer ces exceptions. Si un UpdateSourceExceptionFilter n’est pas spécifié sur , Bindingle moteur de liaison crée un ValidationError avec l’exception et l’ajoute à la Validation.Errors collection de l’élément lié.

S’applique à