Me interesa saber cómo su gente maneja el estado de vista en una aplicación Silverlight con el patrón MVVM. Digamos que tengo una máscara de búsqueda simple que llama asincrónicamente a un servicio web. Mientras que la búsqueda está en curso, me gustaría cambiar la interfaz gráfica de usuario en consecuencia: - Desactivar el botón de búsqueda - Activar un botón Cancelar - etcManejando el estado de la vista en Silverlight con MVVM
El uso de WPF que podría crear un DataTrigger que se une a alguna propiedad en el modelo de vista y luego realiza los cambios en la GUI. Ahora, dado que no tengo un datatrigger en Silverlight, ¿cuál sería la forma más sensata de lograr esto de manera similar al datatrigger (código limpio, en un lugar si es posible)?
(I posted a similar question, but it was worded poorly)
Entonces, ¿puedo definir los estados visuales en mi control (también en una ventana hija?) Y luego cambiarlos usando el DataStateSwitchBehavior? Por ejemplo, un estado podría ser 'SearchInProgress'. ¿Cómo puedo usar el VSM para desactivar el botón para que no se pueda hacer clic mientras el control está en 'SearchInProgress'? –
Gracias Graeme. Lo hice funcionar en un proyecto de muestra y parece que este es el camino a seguir. Sin embargo, parece que me encontré con el mismo problema mencionado aquí: http://stackoverflow.com/questions/2118814/how-can-i-use-visualstates-in-a-childwindow. VSM no parece funcionar en ventanas secundarias. Ahora pondré todo en un UserControl y lo mencionaré en la ventana secundaria. Estoy usando el DataStateSwitcher que mencionaste para que sea impulsado por ViewModel. –