Bueno, depende.
En primer lugar, no estoy seguro si estás hablando de WPF o Windows Forms, así que no asumiré ninguno de los dos.
En segundo lugar, no está "vinculando" nada. Está tomando el valor de Name
y configura la propiedad Text
igual a este valor. Usted está estableciendo una propiedad. Esto no tiene ningún efecto secundario mágico que vincule inextricablemente la propiedad Name
con la propiedad Text
.
En tercer lugar, puede cambiar la configuración, pero hasta que las guarde, no se vuelven a escribir en su app.config. En una aplicación de Windows Forms, que tendría que hacer algo como esto:
// event handler for the Form.Closed event.
// this.FormClosed += FormClosed;
void FormClosed(object sender, FormClosedEventArgs e)
{
Settings.Default.Name = textBox.Text;
Settings.Default.Save();
}
en WPF, tendrá que utilizar la semántica de vinculación normales (lo que significa que evitar la molestia de ajustar todos los valores de la propiedad cuando se cierre) , pero aún debe atrapar el formulario cerrándose para que pueda guardar() la configuración.
Encuadernación:
<TextBox
xmlns:lol="clr-namespace:MyApplication.Settings"
Text="{Binding Name, Source={x:Static lol:Default}}" />
El Save() llamada sucede tanto como con el ejemplo de las formas, pero usted no tiene que hacer otra cosa que llamar a Save().
¿Cómo se guarda, he encontrado que si actualizo el cuadro de texto y cierro mi aplicación cuando la vuelvo a abrir, el valor anterior todavía está allí? – Zapnologica
He probado que cerrando la aplicación usando el botón de detención de depuración la configuración del usuario no se guarda. Debe cerrar la aplicación correctamente (botón de cruz roja). –
¿Hay algún código que pueda llamar manualmente para persistir en la configuración? Por ejemplo, en el texto ¿Escucha modificada? o cada 10 segundos? – Zapnologica