Binding.UpdateSourceExceptionFilter Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Handler ab oder legt ihn fest, mit dem Sie benutzerdefinierte Logik für das Behandeln von Ausnahmen bereitstellen können, die beim Aktualisieren des Bindungsquellwerts durch die Bindungs-Engine auftreten. Dies gilt nur, wenn Sie Ihrer Bindung eine ExceptionValidationRule zugeordnet haben.
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
Eigenschaftswert
Eine Methode, die eine benutzerdefinierte Logik für das Behandeln von Ausnahmen bereitstellt, die beim Aktualisieren des Bindungsquellwerts durch die Bindungs-Engine auftreten.
Beispiele
Die Text Eigenschaft des folgenden TextBox ist datengebunden an eine Quelleigenschaft Age3
vom Typ int
. Die ExceptionValidationRule Überprüfung auf Ausnahmen, die während der Aktualisierung der Quelleigenschaft ausgelöst werden (z. B. wenn der Benutzer einen Wert eingibt, der nicht in eine ganze Zahl konvertiert werden kann).
<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>
Sie können benutzerdefinierte Logik bereitstellen, um diese Ausnahmen zu behandeln. Im folgenden Beispiel wird gezeigt, wie Sie die UpdateSourceExceptionFilter -Eigenschaft verwenden, um einen UpdateSourceExceptionFilterCallbackfestzulegen.
BindingExpression myBindingExpression = textBox3.GetBindingExpression(TextBox.TextProperty);
Binding myBinding = myBindingExpression.ParentBinding;
myBinding.UpdateSourceExceptionFilter = new UpdateSourceExceptionFilterCallback(ReturnExceptionHandler);
myBindingExpression.UpdateSource();
Es folgt eine Beispielimplementierung eines UpdateSourceExceptionFilterCallback.
object ReturnExceptionHandler(object bindingExpression, Exception exception)
{
return "This is from the UpdateSourceExceptionFilterCallBack.";
}
Kann UpdateSourceExceptionFilterCallback auch zurückgeben null
, die Ausnahme selbst oder ein ValidationError. Weitere Informationen finden Sie unter UpdateSourceExceptionFilterCallback.
Das vollständige Beispiel finden Sie unter Beispiel für die Bindungsüberprüfung.
Hinweise
Die ExceptionValidationRule ist eine integrierte Überprüfungsregel, die auf Ausnahmen überprüft, die während der Aktualisierung der Bindungsquelleigenschaft ausgelöst werden. Wenn Sie dem ExceptionValidationRuleBinding -Objekt zugeordnet haben, können Sie diese Eigenschaft verwenden, um einen Handler festzulegen, der benutzerdefinierte Logik für die Behandlung dieser Ausnahmen bereitstellt. Wenn kein UpdateSourceExceptionFilter für die Binding angegeben ist, erstellt die Bindungs-Engine einen ValidationError mit der Ausnahme und fügt ihn der Validation.Errors-Auflistung des gebundenen Elements hinzu.