Binding.UpdateSourceExceptionFilter Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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ć null
wartość , 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.