Pregunta

Quiero dividir el proyecto de mis vistas en varios módulos. Quiero tener un proyecto principal que se refiera a todos los módulos y este proyecto principal generará la vista desde los módulos.

mi pregunta es ¿cómo puedo enlazar todos los estilos de la aplicación a los otros módulos?

¿los reconocerá automáticamente?

¿Y cómo se ubicarán las plantillas de modelo de vista? porque ahora están en un diccionario de recursos que fusiono en app.xaml

donde debería colocarlos (quiero que estén en su proyecto de módulo), ¿Cómo puedo cargar estos recursos?

¿Fue útil?

Solución

Lo que quieres se logra fácilmente si usas Prism: http://www.codeplex.com/CompositeWPF

Hay muchas muestras para que comiences allí.

La única pregunta que hace que no es respondida por Prism es ResourceDictionaries, pero hay varias maneras de evitar eso, pero creo que esta es la mejor manera: Plantillas de datos de recursos del módulo WPF (Prism) compuesto

La primera respuesta debería llevarte allí. Perderá un poco de tiempo de diseño en sus módulos, pero de esta forma todo debería unirse correctamente en el tiempo de ejecución.

Otros consejos

buena pregunta. Como dijo Anderson Imes, puedes usar WPF compuesto, pero hay otra opción más simple que está disponible recientemente si utilizas el Marco de extensibilidad gestionado (MEF). Hay otra otra pregunta que hice sobre cómo hacer exactamente lo que usted hace estamos hablando de usar MEF. Básicamente, utiliza las funciones de extensibilidad de MEF para hacer extensibles los recursos de la aplicación, y luego sus módulos " extienden " Los recursos de la aplicación con sus DataTemplates (Vistas). Luego, simplemente agregue su ViewModel a la GUI donde lo desee, y WPF se encargará de aplicarle su Vista. He estado creando una aplicación en este modelo y está funcionando muy bien.

La ventaja de usar este método es que su archivo app.xaml no tiene que " saber " acerca de todos los módulos de View, y es libre de dividir y cortar su aplicación de la forma que desee (prefiero segmentarla por característica, luego por capa).

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