2011-01-12 21 views
7

Estoy desarrollando una aplicación que actualmente utiliza Prism y MEF.Elemento de menú para cada módulo, con contenido de módulos cargando dinámicamente con Prism o MEF

Me gustaría generar una barra de herramientas o un menú con un elemento para cada módulo, y cuando se hace clic en un elemento, solo las vistas declaradas dentro de ese módulo se cargan en un control de pestañas.

Por ejemplo:

Menú Región: ModuleA (Seleccionado) | ModuleB

Región de pestañas: ModuleAViewA | ModuleAViewB | ModuleAViewC

Cambios en Menú Región: Empleados | Inventario (seleccionado)

Etiqueta Región: Elementos | En Fi

Respuesta

11

Aquí hay muchas preguntas similares a esta. En general, el enfoque que tomará es definir un servicio en una DLL de infraestructura a la que sus módulos puedan hacer referencia. Sus módulos agregarán menú/barra de herramientas/elemento de cinta/cualquier objeto a través del servicio. El lugar donde se implementa el servicio depende de usted, puede estar en el proyecto de Shell, la infraestructura o en un módulo separado. Obviamente, si está en un módulo separado, deberá asegurarse de que sus otros módulos lo definan como una dependencia.

Es posible que desee revisar la siguiente:

Este tiene un enlace a un proyecto que demuestra un menú dinámico: Looking for Prism example of Modules loading themselves into a menu

En la que hago una pregunta sobre cómo construir un menú dinámico: How to dynamically add MenuItems (with a header) to a WPF menu

más .... Load Module Default Views In Region to Create Menu

Y más! Menu service in Prism application CAL

Puede encontrar más que esto también allí. Esta ha sido una solicitud bastante común; Estoy seguro de que puedes armar un buen enfoque para hacer esto a partir de las muestras de códigos que hay.

+0

Gracias por apuntarme en la dirección correcta. Hice algunas búsquedas, pero no encontré nada conciso. – digiteknique

+0

gracias muy informativos. –

Cuestiones relacionadas