UpdateSourceExceptionFilterCallback Delegat
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.
Stellt die Methode dar, die Ausnahmen behandelt, die während der Aktualisierung des Bindungsquellwerts ausgelöst werden. Dies muss mit der ExceptionValidationRule.
public delegate System::Object ^ UpdateSourceExceptionFilterCallback(System::Object ^ bindExpression, Exception ^ exception);
public delegate object UpdateSourceExceptionFilterCallback(object bindExpression, Exception exception);
type UpdateSourceExceptionFilterCallback = delegate of obj * Exception -> obj
Public Delegate Function UpdateSourceExceptionFilterCallback(bindExpression As Object, exception As Exception) As Object
Parameter
- bindExpression
- Object
Das Objekt mit ausnahme.
- exception
- Exception
Die Ausnahme ist aufgetreten.
Rückgabewert
Ein Objekt, das in der Regel eine der folgenden Objekte ist:
| Wert: | Beschreibung |
|---|---|
null | Um Ausnahmen zu ignorieren. Das Standardverhalten (wenn kein UpdateSourceExceptionFilterCallback) besteht darin, eine ValidationError Ausnahme zu erstellen und der Errors Auflistung des gebundenen Elements hinzu. |
| Jedes Objekt | So erstellen Sie ein ValidationError Objekt mit dem ErrorContent Satz auf dieses Objekt.
Das ValidationError Objekt wird der Errors Auflistung des gebundenen Elements hinzugefügt. |
| Ein ValidationError Objekt | So legen Sie das BindingExpression Objekt MultiBindingExpression als das BindingInError. Das ValidationError Objekt wird der Errors Auflistung des gebundenen Elements hinzugefügt. |
Beispiele
Die Text Eigenschaft der folgenden TextBox Ist-Daten an eine Quelleigenschaft Age3 gebunden, die vom Typ intist. 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 haben die Möglichkeit, benutzerdefinierte Logik für die Behandlung dieser Ausnahmen bereitzustellen. Das folgende Beispiel zeigt, wie Sie die UpdateSourceExceptionFilter Eigenschaft zum Festlegen einer UpdateSourceExceptionFilterCallback:
BindingExpression myBindingExpression = textBox3.GetBindingExpression(TextBox.TextProperty);
Binding myBinding = myBindingExpression.ParentBinding;
myBinding.UpdateSourceExceptionFilter = new UpdateSourceExceptionFilterCallback(ReturnExceptionHandler);
myBindingExpression.UpdateSource();
Es folgt eine Beispielimplementierung einer UpdateSourceExceptionFilterCallback:
object ReturnExceptionHandler(object bindingExpression, Exception exception)
{
return "This is from the UpdateSourceExceptionFilterCallBack.";
}
Das vollständige Beispiel finden Sie unter Binding Validation Sample.
Hinweise
Wenn Sie das ExceptionValidationRule Objekt zugeordnet Binding haben, haben Sie die Möglichkeit, diese UpdateSourceExceptionFilter Eigenschaft zum Festlegen dieses Rückrufs zu verwenden, um benutzerdefinierte Logik für die Behandlung der Ausnahmen bereitzustellen. Dieser Rückruf wird immer aufgerufen, wenn eine Ausnahme auftritt, wenn das Bindungsmodul den Bindungsquellwert aktualisiert.
Wenn für UpdateSourceExceptionFilter das BindingBindungsmodul kein Wert angegeben ist, erstellt das Bindungsmodul eine ValidationError Ausnahme und fügt es der Validation.Errors Auflistung des gebundenen Elements hinzu.
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| GetMethodInfo(Delegate) |
Ruft ein Objekt ab, das die vom angegebenen Delegaten dargestellte Methode darstellt. |