Pregunta

estoy experimentando con MVVM en el contexto de una simple aplicación de WPF. Tengo un comando asociado a un botón. Si el texto en el cuadro de texto es un 'incorrecta', quiero que el cuadro de texto para obtener el foco y todos sus contenidos seleccionados. Parece que la única manera de hacer esto es a través de algún tipo de llamada directa desde el Comando en mi modelo de vista a la vista, o la configuración de algún tipo de evento que se desencadena el ViewModel y la vista de escucha. Desde allí la vista puede hacer llamadas directas en el cuadro de texto en cuestión.

Estoy tratando de permanecer dentro de la naturaleza desacoplada de MVVM, pero parece que no hay manera que puedo conseguir este comportamiento de forma declarativa en XAML, o en el código directamente en el modelo de vista sin al menos indirectamente, hablando con la vista (ya sea una interfaz o concurso completo). También tendría que contener una referencia a la vista en el modelo de vista.

Lo que se considera una 'mejor práctica' aquí, y cómo son vistas desacoplado supone realmente ser de ViewModels en aplicaciones 'reales' MVVM?

¿Fue útil?

Solución

Es el código que está directamente ligado a los controles de la interfaz de usuario, así que creo que en este caso, de código subyacente de la vista es a donde pertenece. Es posible que desee configurar un evento o algo por el estilo. De esta manera es como sigue desacoplado como antes -. Sabe la vista del modelo de vista de todos modos, sólo hay unas cuantas líneas de código en el código subyacente

Otros consejos

he encontrado con el mismo problema, lo que hice se hace un cuadro de texto personalizado y exponer propiedad de dependencia de este control.

Al igual que el enfoque, selectalltext y enlazar estas propiedades para ver modelo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top