UpdateSourceExceptionFilterCallback UpdateSourceExceptionFilterCallback UpdateSourceExceptionFilterCallback UpdateSourceExceptionFilterCallback Delegate

Definizione

Rappresenta il metodo che gestisce le eccezioni generate durante l'aggiornamento del valore di origine dell'associazione.Represents the method that handles exceptions that are thrown during the update of the binding source value. Deve essere usato con 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 

Parametri

bindExpression
Object Object Object Object

Oggetto con l'eccezione.The object with the exception.

exception
Exception Exception Exception Exception

Eccezione rilevata.The exception encountered.

Valore restituito

System.Object

Oggetto che in genere è uno dei seguenti:An object that is typically one of the following:

ValoreValue DescriptionDescription
null Per ignorare qualsiasi eccezione.To ignore any exceptions. Il comportamento predefinito (se non è presente alcun oggetto UpdateSourceExceptionFilterCallback) è creare un oggetto ValidationError con l'eccezione e aggiungerlo all'insieme Errors dell'elemento associato.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.

Qualsiasi oggettoAny object Per creare un oggetto ValidationError con l'oggetto ErrorContent impostarlo su tale oggetto.To create a ValidationError object with the ErrorContent set to that object.

L'oggetto ValidationError viene aggiunto all'insieme Errors dell'elemento associato.The ValidationError object is added to Errors collection of the bound element.

Oggetto ValidationErrorA ValidationError object Per impostare l'oggetto BindingExpression o MultiBindingExpression come BindingInError.To set the BindingExpression or MultiBindingExpression object as the BindingInError. L'oggetto ValidationError viene aggiunto all'insieme Errors dell'elemento associato.The ValidationError object is added to Errors collection of the bound element.

Ereditarietà
UpdateSourceExceptionFilterCallbackUpdateSourceExceptionFilterCallbackUpdateSourceExceptionFilterCallbackUpdateSourceExceptionFilterCallback

Esempi

La Text proprietà dell'oggetto seguente TextBox è associata a dati a una proprietà Age3 di origine di tipo int.The Text property of the following TextBox is data-bound to a source property Age3 that is of type int. Verifica ExceptionValidationRule la presenza di eccezioni generate durante l'aggiornamento della proprietà di origine, ad esempio quando l'utente immette un valore che non può essere convertito in un numero intero.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>

È possibile specificare la logica personalizzata per la gestione di tali eccezioni.You have the option to provide custom logic to handle those exceptions. Nell'esempio seguente viene illustrato come utilizzare la UpdateSourceExceptionFilter proprietà per impostare un UpdateSourceExceptionFilterCallbackoggetto: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();

Di seguito è riportato un esempio di implementazione UpdateSourceExceptionFilterCallbackdi un oggetto:The following is an example implementation of an UpdateSourceExceptionFilterCallback:

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

Per l'esempio completo, vedere esempio di convalida dell'associazione.For the complete sample, see Binding Validation Sample.

Commenti

Se è stato associato all' ExceptionValidationRule Binding oggetto, è possibile usare la UpdateSourceExceptionFilter proprietà per impostare questo callback in modo da fornire la logica personalizzata per la gestione delle eccezioni.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. Questo callback viene richiamato ogni volta che viene rilevata un'eccezione quando il motore di associazione aggiorna il valore dell'origine dell'associazione.This callback is invoked whenever any exception is encountered when the binding engine updates the binding source value.

Se un UpdateSourceExceptionFilter oggetto non è specificato Bindingin, il motore di associazione crea ValidationError un oggetto Validation.Errors con l'eccezione e lo aggiunge alla raccolta dell'elemento associato.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.

Metodi di estensione

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

Ottiene un oggetto che rappresenta il metodo rappresentato dal delegato specificato.Gets an object that represents the method represented by the specified delegate.

Si applica a

Vedi anche