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

Procedura: controllare il momento in cui il database di origine viene aggiornato dal testo di TextBox

 

Pubblicato: giugno 2016

In questo argomento viene descritto come utilizzare la proprietà UpdateSourceTrigger per controllare l'intervallo degli aggiornamenti dell'origine di associazione. Nell'argomento viene utilizzato il controllo TextBox come esempio.

Esempio

La proprietà TextBox.Text dispone di un valore predefinito UpdateSourceTrigger di LostFocus. In altri termini, se un'applicazione dispone di un oggetto TextBox con una proprietà con associazione a dati TextBox.Text, il testo digitato in TextBox non aggiorna l'origine finché l'oggetto TextBox perde lo stato attivo (ad esempio, quando si fa clic al di fuori di TextBox).

Se si desidera che il database di origine venga aggiornato durante la digitazione, impostare l'oggetto UpdateSourceTrigger dell'associazione su PropertyChanged. Nell'esempio seguente, le proprietà Text di entrambi gli oggetti TextBox e TextBlock vengono associate alla stessa proprietà di origine. La proprietà UpdateSourceTrigger dell'associazione TextBox viene impostata su PropertyChanged.

<Label>Enter a Name:</Label>
<TextBox>
  <TextBox.Text>
    <Binding Source="{StaticResource myDataSource}" Path="Name"
             UpdateSourceTrigger="PropertyChanged"/>
  </TextBox.Text>
</TextBox>

<Label>The name you entered:</Label>
<TextBlock Text="{Binding Source={StaticResource myDataSource}, Path=Name}"/>

Di conseguenza, poiché il database di origine cambia, l'oggetto TextBlock mostra lo stesso testo digitato dall'utente in TextBox, come illustrato nella schermata seguente dell'esempio:

Schermata dell'esempio Simple Data Binding

Se si dispone di una finestra di dialogo o di un modulo modificabile dall'utente e si preferisce rimandare gli aggiornamenti del database di origine finché l'utente non abbia finito di modificare i campi e faccia clic su "OK", è possibile impostare il valore UpdateSourceTrigger delle associazioni su Explicit, come nell'esempio seguente:

Quando il valore UpdateSourceTrigger viene impostato su Explicit, il valore di origine cambia solo quando l'applicazione chiama il metodo UpdateSource. Nell'esempio riportato di seguito viene illustrato come chiamare UpdateSource per itemNameTextBox:

System_CAPS_noteNota

È possibile utilizzare la stessa tecnica per le proprietà di altri controlli, ma tenere presente che la maggior parte delle altre proprietà hanno un valore predefinito UpdateSourceTrigger di PropertyChanged. Per ulteriori informazioni, vedere la pagina delle proprietà UpdateSourceTrigger.

System_CAPS_noteNota

La proprietà UpdateSourceTrigger è relativa agli aggiornamenti del database di origine e quindi si applica solo alle associazioni TwoWay o OneWayToSource. Affinché le associazioni TwoWay e OneWayToSource funzionino, è necessario che l'oggetto di origine fornisca le notifiche di modifica della proprietà. Per ulteriori informazioni, è possibile fare riferimento agli esempi citati in questo argomento. Inoltre, è possibile consultare Procedura: implementare notifiche di modifiche alle proprietà.

Mostra: