UpdateSourceExceptionFilterCallback Delegato
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta il metodo che gestisce le eccezioni generate durante l'aggiornamento del valore di origine dell'associazione. Deve essere usato con 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
Oggetto con l'eccezione.
- exception
- Exception
Eccezione rilevata.
Valore restituito
Oggetto che in genere è uno dei 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 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 Errors dell'elemento associato. |
Oggetto ValidationError. | Per impostare l'oggetto BindingExpression o MultiBindingExpression come BindingInError. L'oggetto ValidationError viene aggiunto all'insieme Errors dell'elemento associato. |
Esempio
La Text proprietà seguente TextBox è associata a dati a una proprietà Age3
di origine di tipo 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.
<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 fornire logica personalizzata per gestire tali eccezioni. Nell'esempio seguente viene illustrato come utilizzare la UpdateSourceExceptionFilter proprietà per impostare un oggetto UpdateSourceExceptionFilterCallback:
BindingExpression myBindingExpression = textBox3.GetBindingExpression(TextBox.TextProperty);
Binding myBinding = myBindingExpression.ParentBinding;
myBinding.UpdateSourceExceptionFilter = new UpdateSourceExceptionFilterCallback(ReturnExceptionHandler);
myBindingExpression.UpdateSource();
Di seguito è riportata un'implementazione di esempio di :UpdateSourceExceptionFilterCallback
object ReturnExceptionHandler(object bindingExpression, Exception exception)
{
return "This is from the UpdateSourceExceptionFilterCallBack.";
}
Per l'esempio completo, vedere Esempio di convalida dell'associazione.
Commenti
Se è stato associato all'oggetto ExceptionValidationRuleBinding è possibile usare la proprietà per impostare questo UpdateSourceExceptionFilter callback per fornire logica personalizzata per la gestione delle eccezioni. Questo callback viene richiamato ogni volta che viene rilevata un'eccezione quando il motore di associazione aggiorna il valore di origine dell'associazione.
UpdateSourceExceptionFilter Se un oggetto non viene specificato in Binding, il motore di associazione crea un ValidationError oggetto con l'eccezione e lo aggiunge alla Validation.Errors raccolta dell'elemento associato.
Metodi di estensione
GetMethodInfo(Delegate) |
Ottiene un oggetto che rappresenta il metodo rappresentato dal delegato specificato. |