Si eres lo suficientemente valiente como para asumir un gran cambio arquitectónico, podrías considerar CompositeWPF (anteriormente denominado Prisma) de los Patrones & Practices guys en Microsoft.
De interés para los que sería la capacidad para definir "regiones" en una cáscara (es decir, ventana) y luego el uso de vistas para llenar las regiones. Utiliza el patrón Model-View-Presenter para permitir el desarrollo independiente de "vistas" del modelo que pueden reubicarse fácilmente a lo largo del tiempo, ya que el shell solo define regiones y no está acoplado directamente a lo que se le coloca. Principalmente, esto ayuda a desacoplar el caparazón de las vistas y las vistas entre sí y facilita la prueba de la unidad ... bla, bla, bla.
Es un gran salto y algo que le hará perder tiempo, para empezar, aunque su situación es uno de los tipos de aplicaciones que CompositeWPF está destinado a abordar.
Como parte de CompositeWPF tendrá que tomar a bordo de varios patrones que pueden confundir a los recién llegados, por ejemplo UnityContainer, inversión de control, MVP (o modelo/vista/modelo de vista) e inyección de dependencia.
puedo recordar cuando empecé con las aplicaciones muestra que se está desconcertado porque no es obvio cómo en la tierra algunas de las vistas eran incluso ser creado! El contenedor de unidad instanciará objetos y llamará mágicamente a constructores parametrizados.
CompositeWPF es una solución elegante para su pregunta, pero no es simple ni directa. Habiendo utilizado CompositeWPF en mi último proyecto, tengo la intención de usarlo nuevamente para la próxima aplicación adecuada.
Gracias! eso es exactamente lo que estoy buscando! Gracias :) – NoizWaves