En una aplicación WPF, estoy creando una ventana de configuración para personalizar los atajos de teclado.¿Cómo cambio TextBox.Text sin perder el enlace en WPF?
En los cuadros de texto, manejo el evento KeyDown y convierto el evento clave en un formulario legible por humanos (y también la forma en que quiero tener mis datos).
El cuadro de texto se declara como esto
<TextBox Text="{Binding ShortCutText, Mode=TwoWay}"/>
y en el controlador de eventos, que trató de usar tanto
(sender as TextBox).Text = "...";
y
(sender as TextBox).Clear();
(sender as TextBox).AppendText("...");
En ambos casos, el la vinculación de nuevo al viewmodel no funciona, el viewmodel aún contiene los datos antiguos y no se actualiza. Encuadernación en la otra dirección (desde el modelo de vista hasta el cuadro de texto) funciona bien.
¿Hay alguna manera de editar el TextBox.Text del código sin usar el enlace? ¿O hay algún otro error en mi proceso?
Idealmente, debe actualizar este valor en su modelo, que reflejará automáticamente los cambios en los cuadros de texto, ya que está utilizando MVVM. – Deepesh
Trate de agregar 'UpdateSourceTrigger = PropertyChanged' a su enlace –
Sé que esta es una vieja pregunta por ahora, pero una cosa que las personas parecen ignorar aquí es si usted tiene una propiedad de control vinculada a otro control (Diga una lista de casillas de verificación que están todos marcados o desmarcados por una casilla de verificación principal). Puede que no haya nada en la VM que lo ayude aquí. –