Binding.UpdateSourceExceptionFilter Właściwość

Definicja

Pobiera lub ustawia procedurę obsługi, której można użyć, aby zapewnić niestandardową logikę obsługi wyjątków, które napotyka aparat powiązań podczas aktualizacji wartości źródłowej powiązania.Gets or sets a handler you can use to provide custom logic for handling exceptions that the binding engine encounters during the update of the binding source value. Ma to zastosowanie tylko wtedy, gdy skojarzono ExceptionValidationRule z powiązaniem.This is only applicable if you have associated an ExceptionValidationRule with your binding.

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

Wartość właściwości

UpdateSourceExceptionFilterCallback

Metoda, która udostępnia logikę niestandardową do obsługi wyjątków, które aparat powiązania napotyka podczas aktualizacji wartości źródłowej powiązania.A method that provides custom logic for handling exceptions that the binding engine encounters during the update of the binding source value.

Przykłady

TextWłaściwość poniżej TextBox ma powiązane dane z właściwością źródłową Age3 typu int .The Text property of the following TextBox is data-bound to a source property Age3 that is of type int. ExceptionValidationRuleSprawdza wyjątki, które są zgłaszane podczas aktualizacji właściwości źródłowej (na przykład gdy użytkownik wprowadzi wartość, której nie można przekonwertować na liczbę całkowitą).The ExceptionValidationRule checks for exceptions that are thrown during the update of the source property (such as when the user enters a value that cannot be converted to an integer).

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

Możesz dostarczyć logikę niestandardową do obsługi tych wyjątków.You can provide custom logic to handle those exceptions. Poniższy przykład pokazuje, jak użyć UpdateSourceExceptionFilter właściwości do ustawienia UpdateSourceExceptionFilterCallback .The following example shows how to use the UpdateSourceExceptionFilter property to set an UpdateSourceExceptionFilterCallback.


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

Poniżej przedstawiono przykładową implementację programu UpdateSourceExceptionFilterCallback .The following is an example implementation of an UpdateSourceExceptionFilterCallback.

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

UpdateSourceExceptionFilterCallbackMoże również zwracać null , sam wyjątek lub ValidationError .The UpdateSourceExceptionFilterCallback can also return null, the exception itself, or a ValidationError. Aby uzyskać więcej informacji, zobacz UpdateSourceExceptionFilterCallback.For more information, see UpdateSourceExceptionFilterCallback.

Aby zapoznać się z kompletnym przykładem, zobacz przykładowe sprawdzanie poprawności powiązań.For the complete sample, see Binding Validation Sample.

Uwagi

ExceptionValidationRuleJest wbudowaną regułą walidacji, która sprawdza wyjątki zgłoszone podczas aktualizacji właściwości źródła powiązania.The ExceptionValidationRule is a built-in validation rule that checks for exceptions thrown during the update of the binding source property. Jeśli masz skojarzoną ExceptionValidationRule z Binding obiektem, możesz użyć tej właściwości, aby ustawić procedurę obsługi w celu zapewnienia logiki niestandardowej do obsługi tych wyjątków.If you have associated the ExceptionValidationRule with your Binding object, you can use this property to set a handler to provide custom logic for handling these exceptions. Jeśli element UpdateSourceExceptionFilter nie jest określony w Binding , aparat powiązań tworzy ValidationError wyjątek z wyjątkiem i dodaje go do Validation.Errors kolekcji powiązanego elementu.If an UpdateSourceExceptionFilter is not specified on the Binding, the binding engine creates a ValidationError with the exception and adds it to the Validation.Errors collection of the bound element.

Dotyczy