Esporta (0) Stampa
Espandi tutto

Delegato UpdateSourceExceptionFilterCallback

Aggiornamento: novembre 2007

Rappresenta il metodo che gestisce le eccezioni generate durante l'aggiornamento del valore dell'origine dell'associazione. Deve essere utilizzato con l'oggetto ExceptionValidationRule.

Spazio dei nomi:  System.Windows.Data
Assembly:  PresentationFramework (in PresentationFramework.dll)

public delegate Object UpdateSourceExceptionFilterCallback(
	Object bindExpression,
	Exception exception
)
/** @delegate */
public delegate Object UpdateSourceExceptionFilterCallback(
	Object bindExpression,
	Exception exception
)
JScript non supporta i delegati.
In XAML è possibile utilizzare delegati ma non è possibile definirne di personalizzati.

Parametri

bindExpression
Tipo: System.Object

Oggetto con l'eccezione.

exception
Tipo: System.Exception

L'eccezione rilevata.

Valore restituito

Tipo: System.Object

Un oggetto è in genere uno degli elementi seguenti:

Valore

Descrizione

null

Per ignorare qualsiasi eccezione. Il comportamento predefinito (se non è presente alcun oggetto UpdateSourceExceptionFilterCallback) è creare un oggetto ValidationError con l'eccezione e aggiungerlo all'insieme Validation.Errors dell'elemento associato.

Qualsiasi oggetto

Per creare un oggetto ValidationError con l'oggetto ErrorContent impostarlo su tale oggetto.

L'oggetto ValidationError viene aggiunto all'insieme Validation.Errors dell'elemento associato.

Oggetto ValidationError

Per impostare l'oggetto BindingExpression o MultiBindingExpression come BindingInError. L'oggetto ValidationError viene aggiunto all'insieme Validation.Errors dell'elemento associato.

Se è stato associato ExceptionValidationRule all'oggetto Binding si ha l'opzione per utilizzare la proprietà UpdateSourceExceptionFilter per impostare tale callback per fornire la logica personalizzata per la gestione delle eccezioni. Il callback viene richiamato ogni volta che viene rilevata un'eccezione quando il modulo di associazione aggiorna il valore dell'origine dell'associazione.

Se un UpdateSourceExceptionFilter non viene specificato sull'oggetto Binding, il modulo di associazione crea un ValidationError con l'eccezione e lo aggiunge all'insieme Validation.Errors dell'elemento associato.

La proprietà Text dell'oggetto TextBox seguente è associata a dati a una proprietà dell'origine Age3 che è di tipo int. ExceptionValidationRule verifica le eccezioni generate durante l'aggiornamento della proprietà dell'origine (ad esempio quando l'utente immette un valore che non può essere convertito in un numero 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>


Si ha l'opzione per fornire la logica personalizzata per gestire tali eccezioni. Nell'esempio riportato di seguito viene illustrato come utilizzare la proprietà UpdateSourceExceptionFilter per impostare l'oggetto 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 di un oggetto UpdateSourceExceptionFilterCallback.

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


Per l'esempio completo, vedere Esempio di convalida dell'associazione.

Windows Vista

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5, 3.0

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft