Condividi tramite


Binding.UpdateSourceExceptionFilter Proprietà

Definizione

Ottiene o imposta un gestore che è possibile usare per rendere disponibile logica personalizzata per la gestione delle eccezioni rilevate dal motore di associazione durante l'aggiornamento del valore di origine di associazione. Questa proprietà è applicabile solo se è stato associato un oggetto ExceptionValidationRule all'associazione.

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

Valore della proprietà

Metodo per rendere disponibile logica personalizzata per la gestione delle eccezioni rilevate dal motore di associazione durante l'aggiornamento del valore di origine di associazione.

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.";
}

Può UpdateSourceExceptionFilterCallback anche restituire null, l'eccezione stessa o un oggetto ValidationError. Per altre informazioni, vedere UpdateSourceExceptionFilterCallback.

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

Commenti

ExceptionValidationRule è una regola di convalida predefinita che controlla la presenza di eccezioni generate durante l'aggiornamento della proprietà di origine dell'associazione. Se l'oggetto è associato Binding all'oggettoExceptionValidationRule, è possibile usare questa proprietà per impostare un gestore per fornire logica personalizzata per la gestione di queste eccezioni. 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.

Si applica a