Binding.UpdateSourceExceptionFilter Property

Definition

Obtiene o establece un controlador que puede usar para ofrecer lógica personalizada para controlar las excepciones que el motor de enlace encuentra durante la actualización del valor del origen de enlace.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. Esto solo es aplicable si se asoció una ExceptionValidationRule al enlace.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

Property Value

UpdateSourceExceptionFilterCallback

Método que ofrece lógica personalizada para controlar las excepciones que el motor de enlace encuentra durante la actualización del valor del origen de enlace.A method that provides custom logic for handling exceptions that the binding engine encounters during the update of the binding source value.

Examples

La propiedad Text de la TextBox siguiente está enlazada a datos a una propiedad de origen Age3 que es de tipo int.The Text property of the following TextBox is data-bound to a source property Age3 that is of type int. El ExceptionValidationRule comprueba las excepciones que se producen durante la actualización de la propiedad de origen (por ejemplo, cuando el usuario escribe un valor que no se puede convertir en un entero).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>

Puede proporcionar una lógica personalizada para controlar esas excepciones.You can provide custom logic to handle those exceptions. En el ejemplo siguiente se muestra cómo utilizar la propiedad UpdateSourceExceptionFilter para establecer un 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();

El siguiente es un ejemplo de implementación de un UpdateSourceExceptionFilterCallback.The following is an example implementation of an UpdateSourceExceptionFilterCallback.

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

El UpdateSourceExceptionFilterCallback también puede devolver null, la propia excepción o un ValidationError.The UpdateSourceExceptionFilterCallback can also return null, the exception itself, or a ValidationError. Para más información, consulte UpdateSourceExceptionFilterCallback.For more information, see UpdateSourceExceptionFilterCallback.

Para obtener el ejemplo completo, vea ejemplo de validación de enlace.For the complete sample, see Binding Validation Sample.

Remarks

El ExceptionValidationRule es una regla de validación integrada que comprueba las excepciones producidas durante la actualización de la propiedad de origen de enlace.The ExceptionValidationRule is a built-in validation rule that checks for exceptions thrown during the update of the binding source property. Si ha asociado el ExceptionValidationRule con el objeto Binding, puede usar esta propiedad para establecer un controlador que proporcione una lógica personalizada para controlar estas excepciones.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. Si no se especifica UpdateSourceExceptionFilter en Binding, el motor de enlace crea ValidationError con la excepción y lo agrega a la colección Validation.Errors del elemento enlazado.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.

Applies to