Binding.UpdateSourceExceptionFilter Właściwość

Definicja

Pobiera lub ustawia procedurę obsługi, której można użyć do zapewnienia niestandardowej logiki obsługi wyjątków napotkanych przez aparat powiązania podczas aktualizacji wartości źródłowej powiązania. Ma to zastosowanie tylko w przypadku skojarzenia z powiązaniem ExceptionValidationRule .

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

Metoda zapewniająca niestandardową logikę obsługi wyjątków napotkanych przez aparat powiązania podczas aktualizacji wartości źródłowej powiązania.

Przykłady

Właściwość Text poniższej TextBox właściwości to dane powiązane z właściwością Age3 źródłową typu int. Sprawdza ExceptionValidationRule wyjątki, które są zgłaszane podczas aktualizacji właściwości źródłowej (na przykład gdy użytkownik wprowadza wartość, której nie można przekonwertować na liczbę całkowitą).

<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 podać niestandardową logikę do obsługi tych wyjątków. W poniższym przykładzie pokazano, jak ustawić UpdateSourceExceptionFilterCallbackwłaściwość za pomocą UpdateSourceExceptionFilter właściwości .


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

Poniżej przedstawiono przykładową implementację elementu UpdateSourceExceptionFilterCallback.

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

Element UpdateSourceExceptionFilterCallback może również zwrócić nullwartość , wyjątek lub .ValidationError Aby uzyskać więcej informacji, zobacz UpdateSourceExceptionFilterCallback.

Aby zapoznać się z kompletnym przykładem, zobacz Przykład weryfikacji powiązań.

Uwagi

Jest ExceptionValidationRule to wbudowana reguła sprawdzania poprawności, która sprawdza wyjątki zgłaszane podczas aktualizacji właściwości źródłowej powiązania. Jeśli skojarzono ExceptionValidationRule obiekt z Binding obiektem, możesz użyć tej właściwości, aby ustawić procedurę obsługi w celu zapewnienia niestandardowej logiki obsługi tych wyjątków. Jeśli element UpdateSourceExceptionFilter nie został określony w elemecie Binding, aparat powiązania tworzy ValidationError obiekt z wyjątkiem i dodaje go do Validation.Errors kolekcji powiązanego elementu.

Dotyczy