Binding.UpdateSourceExceptionFilter Eigenschaft

Definition

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.Gets or sets a handler you can use to provide custom logic for handling exceptions that the binding engine encounters during the update of the binding source value. Dies gilt nur, wenn Sie Ihrer Bindung eine ExceptionValidationRule zugeordnet haben.This is only applicable if you have associated an ExceptionValidationRule with your binding.

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

UpdateSourceExceptionFilterCallback

Eine Methode, die eine benutzerdefinierte Logik für das Behandeln von Ausnahmen bereitstellt, die beim Aktualisieren des Bindungsquellwerts durch die Bindungs-Engine auftreten.A method that provides custom logic for handling exceptions that the binding engine encounters during the update of the binding source value.

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 können eine benutzerdefinierte Logik bereitstellen, um diese Ausnahmen zu behandeln.You can 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 einer UpdateSourceExceptionFilterCallback .The following is an example implementation of an UpdateSourceExceptionFilterCallback.

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

UpdateSourceExceptionFilterCallbackKann auch zurückgeben null , die Ausnahme selbst oder ein ValidationError .The UpdateSourceExceptionFilterCallback can also return null, the exception itself, or a ValidationError. Weitere Informationen finden Sie unter UpdateSourceExceptionFilterCallback.For more information, see UpdateSourceExceptionFilterCallback.

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

Hinweise

ExceptionValidationRuleBei handelt es sich um eine integrierte Validierungs Regel, die auf Ausnahmen prüft, die während der Aktualisierung der Bindungs Quell Eigenschaft ausgelöst werden.The ExceptionValidationRule is a built-in validation rule that checks for exceptions thrown during the update of the binding source property. Wenn Sie das mit dem-Objekt verknüpft haben ExceptionValidationRule Binding , können Sie diese Eigenschaft verwenden, um einen Handler festzulegen, der benutzerdefinierte Logik für die Behandlung dieser Ausnahmen bereitstellt.If you have associated the ExceptionValidationRule with your Binding object, you can use this property to set a handler to provide custom logic for handling these exceptions. 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.

Gilt für: