He estado utilizando Prism por un tiempo y disfruto de lo fácil que es desacoplar mis módulos.Cómo usar DataTemplates en Prism
Esto funciona especialmente bien para vistas y ver modelos ya que puede inyectar los modelos de vista a través de interfaces y las vistas a través del administrador de región.
Desafortunadamente, esto solo funciona cuando mis vistas son controles completos del usuario a menos que me falta algo aquí (y sinceramente espero que así sea).
Muchas veces, creo un ViewModel y un DataTemplate coincidente. Estos pueden ser utilizados por otros ensambles para componer una vista.
Mi problema es que no veo ninguna manera de referirse a estos DataTemplates sin hacer referencia al conjunto que contiene, por lo que en mi archivo XAML que escribo algo como:
<ResourceDictionary Source="pack://application:,,/......>
Por supuesto, esto no es realmente desacoplado, aunque Intento asegurarme de que no me refiero al ensamblaje en ningún otro lugar de mi código.
Otra solución en la que pensé, fue colocar las plantillas de datos en el proyecto de Infraestructura, pero tampoco me gusta demasiado, ya que quiero que todo lo que pertenece a un módulo esté contenido (excepto las interfaces de curso).
Entonces, ¿alguien tiene una buena solución, o me perdí alguna función de Prisma?
Eso debería funcionar, la única desventaja de esto es que no recibo ayuda dentro de mi archivo xaml, si no importo explícitamente las plantillas de datos. P.ej. Resharper advierte "Recurso no encontrado" y pierdo los comentarios que me permiten saber si escribí las cosas derecha, etc. ... Si solo pudiera referirme a las plantillas de datos como si fueran interfaces ... –