Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Proprietà Binding.UpdateSourceExceptionFilter

 

Data di pubblicazione: ottobre 2016

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 dell'associazione. Questa proprietà è applicabile solo se è stato associato un oggetto ExceptionValidationRule all'associazione.

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

public UpdateSourceExceptionFilterCallback UpdateSourceExceptionFilter { get; set; }

Valore proprietà

Type: System.Windows.Data.UpdateSourceExceptionFilterCallback

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.

Il ExceptionValidationRule è una regola di convalida incorporate che controlla le eccezioni generate durante l'aggiornamento della proprietà di origine di associazione. Se è stata associata la ExceptionValidationRule con il Binding dell'oggetto, è possibile utilizzare questa proprietà per impostare un gestore per fornire la logica personalizzata per la gestione delle eccezioni. Se un UpdateSourceExceptionFilter non viene specificato nella Binding, il motore di associazione crea un ValidationError con l'eccezione che viene aggiunto al Validation.Errors raccolta dell'elemento associato.

Il Text proprietà degli elementi seguenti TextBox associati a dati a una proprietà di origine Age3 che è di tipo int. Il ExceptionValidationRule verifica le 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 il UpdateSourceExceptionFilter proprietà per impostare un 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 UpdateSourceExceptionFilterCallback.

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

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

Per l'esempio completo, vedere Binding Validation Sample.

.NET Framework
Disponibile da 3.0
Torna all'inizio
Mostra: