UpdateSourceExceptionFilterCallback Delegat

Definition

Stellt die Methode dar, die Ausnahmen behandelt, die während der Aktualisierung des Bindungsquellwerts ausgelöst werden.Represents the method that handles exceptions that are thrown during the update of the binding source value. Diese muss mit der ExceptionValidationRule verwendet werden.This must be used with the 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 der Ausnahme.The object with the exception.

exception
Exception

Die aufgetretene Ausnahme.The exception encountered.

Rückgabewert

Object

Ein Objekt, bei dem es sich in der Regel um Folgendes handelt:An object that is typically one of the following:

WertValue BeschreibungDescription
null Zum Ignorieren von Ausnahmen.To ignore any exceptions. Das Standardverhalten (wenn kein UpdateSourceExceptionFilterCallback vorhanden ist) besteht darin, dass ein ValidationError mit der Ausnahme erstellt und der Errors-Auflistung des gebundenen Elements hinzugefügt wird.The default behavior (if there is no UpdateSourceExceptionFilterCallback) is to create a ValidationError with the exception and adds it to the Errors collection of the bound element.
Ein beliebiges ObjektAny object Zum Erstellen eines ValidationError-Objekts, wobei der ErrorContent auf dieses Objekt festgelegt ist.To create a ValidationError object with the ErrorContent set to that object.

Das ValidationError-Objekt wird der Errors-Auflistung des gebundenen Elements hinzugefügt.The ValidationError object is added to Errors collection of the bound element.

Ein ValidationError-Objekt.A ValidationError object Zum Festlegen des BindingExpression-Objekts oder MultiBindingExpression-Objekts als BindingInError.To set the BindingExpression or MultiBindingExpression object as the BindingInError. Das ValidationError-Objekt wird der Errors-Auflistung des gebundenen Elements hinzugefügt.The ValidationError object is added to Errors collection of the bound element.
Vererbung
UpdateSourceExceptionFilterCallback

Beispiele

Die Text -Eigenschaft des folgenden TextBox ist Daten gebunden an eine Quell Eigenschaft Age3 vom Typ int .The Text property of the following TextBox is data-bound to a source property Age3 that is of type int. Der ExceptionValidationRule überprüft auf Ausnahmen, die während der Aktualisierung der Quell Eigenschaft ausgelöst werden (z. b. wenn der Benutzer einen Wert eingibt, der nicht in eine ganze Zahl konvertiert werden kann).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>

Sie haben die Möglichkeit, benutzerdefinierte Logik bereitzustellen, um diese Ausnahmen zu behandeln.You have the option to provide custom logic to handle those exceptions. Im folgenden Beispiel wird gezeigt, wie die-Eigenschaft verwendet wird UpdateSourceExceptionFilter , um einen festzulegen 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();

Im folgenden finden Sie eine Beispiel Implementierung eines UpdateSourceExceptionFilterCallback :The following is an example implementation of an UpdateSourceExceptionFilterCallback:

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

Das komplette Beispiel finden Sie unter Beispiel für Bindungs Validierung.For the complete sample, see Binding Validation Sample.

Hinweise

Wenn Sie das mit dem-Objekt verknüpft haben, ExceptionValidationRule Binding können Sie die-Eigenschaft verwenden, UpdateSourceExceptionFilter um diesen Rückruf festzulegen, um eine benutzerdefinierte Logik für die Behandlung der Ausnahmen bereitzustellen.If you have associated the ExceptionValidationRule with your Binding object you have the option to use the UpdateSourceExceptionFilter property to set this callback to provide custom logic for handling the exceptions. Dieser Rückruf wird immer dann aufgerufen, wenn eine Ausnahme auftritt, wenn die Bindungs-Engine den Bindungs Quellwert aktualisiert.This callback is invoked whenever any exception is encountered when the binding engine updates the binding source value.

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

Erweiterungsmethoden

GetMethodInfo(Delegate)

Ruft ein Objekt ab, das die Methode darstellt, die vom angegebenen Delegaten dargestellt wird.Gets an object that represents the method represented by the specified delegate.

Gilt für:

Weitere Informationen