2009-10-30 23 views
9

Estoy trabajando en un nuevo proyecto .NET WPF y muy probablemente esté usando el framework PRISM.Aplicaciones MDI en WPF

Uno de los requisitos que tengo para la aplicación es tener una interfaz de usuario de tipo MDI. Necesito un shell principal con un encabezado, pie de página y regiones de la barra lateral. El área de trabajo principal de la aplicación debe contener varias pestañas, con una pestaña para cada "área de trabajo". Estas pestañas deben poder anclarse para que se puedan fijar o flotante como una ventana independiente dentro de la ventana principal de la aplicación.

Mis preguntas son:

  1. ¿Cuál es la mejor herramienta para este trabajo? Miré a Infragistics que tienen un control DockManager que parece que haría esto.
  2. ¿Es una buena práctica tener varias ventanas flotantes libres dentro de su aplicación?
+0

¿Qué solución eligió finalmente? ¿Decidió deshacerse de MDI a favor de SDI múltiple? –

+0

https://github.com/ButchersBoy/Dragablz es otra opción más nueva –

Respuesta

10
  1. Hay muchas herramientas de terceros que lo hará. Infragistics XamDockManager, así como Syncfusion's Docking Manager, y estoy seguro de que hay otros por ahí.

  2. Las interfaces MDI ya no se consideran "buenas". Han sido reemplazados en la mayoría de los programas mediante el uso de múltiples ventanas SDI. Por ejemplo, mire los productos de Microsoft, como el paquete de Office. Han cambiado completamente de las interfaces MDI. Incluso Visual Studio ha ido a las interfaces con pestañas.

+0

Estoy de acuerdo con lo que dice con respecto a Office, el punto que me han señalado (por parte de quienes manejan los requisitos) es que en Office, etc. aún puede cambiar a una vista MDI para tener dos documentos uno al lado del otro si así lo desea. Gracias por la entrada, oí lo que dices – Steve

+1

Mira el estudio visual: solía ser la aplicación MDI "perfecta", y ahora han cambiado a vistas de documentos con pestañas, con ventanas divididas y ventanas de herramienta de acoplamiento (pero ventanas no flotantes internamente). –

+2

Pero se están moviendo a ventanas flotantes en 2010. Incluso ventanas flotantes fuera de caparazón. –

3

Este es sin duda demasiado tarde para que el post original, pero quiero añadir enlaces a tres proyectos populares en CodePlex que son relevantes:

  • AvalonDock - Una biblioteca de acoplamiento al estilo de Visual Studio y
  • WpfMdi que es un administrador de ventanas MDI clásico.
  • Chronos WPF que se ve elegante y moderno

No suena como el estilo MDI clásico es lo que se pidió. AvalonDock permitirá separar conjuntos de pestañas una al lado de la otra y ventanas desprendibles como Visual Studio. Se usa en SharpDevelop, por lo que se puede descargar para tener una idea de cómo se puede usar la biblioteca de acoplamiento.

+2

Chronos oficialmente ya no se encuentra en desarrollo. WpfMdi parece haber sido abandonado. – user316117

0

Considera marcar MDIContainer. Un proyecto similar a MDI for WPF, pero te da más libertad, ya que no te obliga a implementar la ventana, interfaz de MDIChild ni nada.

Cuestiones relacionadas