UpdateSourceExceptionFilterCallback UpdateSourceExceptionFilterCallback UpdateSourceExceptionFilterCallback UpdateSourceExceptionFilterCallback Delegate

Definición

Representa el método que controla las excepciones que se inician durante la actualización del valor del origen de enlace.Represents the method that handles exceptions that are thrown during the update of the binding source value. Debe usarse con la ExceptionValidationRule.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 

Parámetros

bindExpression
Object Object Object Object

Objeto con la excepción.The object with the exception.

exception
Exception Exception Exception Exception

Excepción encontrada.The exception encountered.

Valor devuelto

System.Object

Objeto que suele ser uno de los siguientes:An object that is typically one of the following:

ValorValue DescripciónDescription
null Para omitir cualquier excepción.To ignore any exceptions. El comportamiento predeterminado (si no hay UpdateSourceExceptionFilterCallback) es crear ValidationError con la excepción y agregarlo a la colección Errors del elemento enlazado.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.

Cualquier objeto.Any object Para crear un objeto ValidationError con ErrorContent establecido en ese objeto.To create a ValidationError object with the ErrorContent set to that object.

El objeto ValidationError se agrega a la colección Errors del elemento enlazado.The ValidationError object is added to Errors collection of the bound element.

Objeto ValidationErrorA ValidationError object Para establecer el objeto BindingExpression o MultiBindingExpression como BindingInError.To set the BindingExpression or MultiBindingExpression object as the BindingInError. El objeto ValidationError se agrega a la colección Errors del elemento enlazado.The ValidationError object is added to Errors collection of the bound element.

Herencia
UpdateSourceExceptionFilterCallbackUpdateSourceExceptionFilterCallbackUpdateSourceExceptionFilterCallbackUpdateSourceExceptionFilterCallback

Ejemplos

El Text propiedad de los siguientes TextBox está enlazado 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 producidas 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>

Tiene la opción para proporcionar lógica personalizada para controlar las excepciones.You have the option to provide custom logic to handle those exceptions. El ejemplo siguiente muestra cómo usar el UpdateSourceExceptionFilter propiedad 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.";
}

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

Comentarios

Si se ha asociado el ExceptionValidationRule con su Binding objeto tiene la opción para usar el UpdateSourceExceptionFilter propiedad para establecer esta devolución de llamada para proporcionar lógica personalizada para controlar las excepciones.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. Esta devolución de llamada se invoca cuando se produce una excepción cuando el motor de enlace actualiza el valor de origen de enlace.This callback is invoked whenever any exception is encountered when the binding engine updates the binding source value.

Si un UpdateSourceExceptionFilter no se especifica en el Binding, el motor de enlace crea un ValidationError con la excepción y lo agrega a la Validation.Errors colección 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.

Extension Methods

GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate)

Obtiene un objeto que representa el método representado por el delegado especificado.Gets an object that represents the method represented by the specified delegate.

Se aplica a

Consulte también: