Pregunta

¿Cuál es la mejor práctica para cargar un control de usuario en una ventana con MVVM-Light? Donde crear la instancia de control de usuario, en el modelo de vista de la ventana o dirigir en la ventana?

¿Fue útil?

Solución

Su máquina virtual no debe contener cualquier código específico de la interfaz de usuario como controles si está preocupado sobre las mejores prácticas. Por ejemplo, si usted tiene una propiedad en la máquina virtual que controla la visibilidad de un control en su opinión, que la propiedad debe ser de tipo bool y no visibilidad. La vista utilizará la propiedad bool para ocultar o mostrar el control.

Así se tiene una vista (como una ventana), que databinds contra una máquina virtual. Algunos cambios de propiedad en la máquina virtual que hará que algo de código en la ventana para crear y mostrar un control de usuario.

Otros consejos

acabo de leer este excelente post trata de crear una interfaz con pestañas con MVVM (Luz). Que no habla de los controles de usuario, pero el objetivo es bastante estrecha. Sería fácil de modificar para controles de usuario de apoyo.

El enfoque es unir el control de ficha a una colección observable de áreas de trabajo (ViewModels). Cuando se añade una nueva pestaña (o espacio de trabajo), se crea una instancia en el modelo de vista, añadido a la colección, enlace de datos a la vista y rendido como una nueva pestaña con la ayuda de DataTemplates.

I será feliz si puede mostrar un ejemplo de hacer en el uso de la luz MVVM. También tengo el problema quiere ventana principal con la "ventana secundaria" (controles de usuario) para mostrar / ocultar el botón de clic de la MainWindow .. Así que debo a todos crear en la columna de la rejilla por ejemplo el mismo lugar nos dejó y luego macho los ver / esconder la propiedad de unión por?

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