Beh, dipende.
In primo luogo, non sono sicuro che tu stia parlando di WPF o Windows Form, quindi non assumerò nessuna delle due.
In secondo luogo, non si "lega" nulla. Si sta prendendo il valore di Name
e si imposta la proprietà Text
uguale a questo valore. Stai impostando una proprietà. Questo non ha effetti collaterali magici che collegano in modo inestricabile la proprietà Name
alla proprietà Text
.
In terzo luogo, è possibile modificare le impostazioni, ma fino a quando non vengono salvate, non vengono riscritte nel proprio app.config. In un Windows Form app, che avrebbe dovuto fare qualcosa di simile:
// event handler for the Form.Closed event.
// this.FormClosed += FormClosed;
void FormClosed(object sender, FormClosedEventArgs e)
{
Settings.Default.Name = textBox.Text;
Settings.Default.Save();
}
In WPF, utilizza i normali semantiche vincolanti (il che significa che si evita il fastidio di impostare tutti i valori delle proprietà in chiusura) , ma è comunque necessario intercettare la chiusura del modulo in modo da consentire a di salvare() le impostazioni.
Binding:
<TextBox
xmlns:lol="clr-namespace:MyApplication.Settings"
Text="{Binding Name, Source={x:Static lol:Default}}" />
La chiamata Save() avviene più con l'esempio forme, ma non si deve fare altro che chiamare Save().
Come si salva, ho scoperto che se aggiorno la casella di testo e chiudo la mia app quando la riapre, il vecchio valore è ancora lì? – Zapnologica
Ho verificato che chiudendo l'app utilizzando il pulsante Stop Debug le impostazioni dell'utente non vengano salvate. Dovresti chiudere l'app correttamente (tasto croce rossa). –
C'è qualche codice che posso chiamare manualmente per mantenere le impostazioni? Ad esempio sul testo Changed listener? o ogni 10 secondi? – Zapnologica