locked
Formularios MDI?? RRS feed

  • Pregunta

  • Amigos como estan queria saber si en wpf hay como realizar formularios MDI, en windows forms era algo como esto
    FormDocumento NuevoFormHijo;
    NuevoFormHijo = new FormDocumento();
    NuevoFormHijo.MdiParent = this;

    Pero en WPF, como se puede lograr esto o no hay como???
    Saludos
    viernes, 30 de octubre de 2009 14:13

Respuestas

  • MS ha estado tratando de matar a la interfaz de múltiples documentos (MDI) desde Windows 95. La mayoría de sus aplicaciones se han alejado de ella


    Claro. Por eso aplicaciones como TODA la suite de Office (2007), Visual Studio (2010), SQL Server Management Studio (2008), Internet Explorer (2008), toda la suite de Blend (2008), por mencionar las primeras que me vienen a la mente, utilizan MDI o alguna de sus variantes, como TDI.

    La verdad es que MDI ha mejorado al paso del tiempo y Microsoft ha intentado hacer que MDI mejore al sacar algunas variantes útiles, como el Tabbed Document Interface, que utilizan aplicaciones como Visual Studio, o el Compound Document Support, que utilizan Word y Excel. Por no mencionar el soporte añadido para utilizar Office Rich UI (i.e. el Ribbon, etc) para Visual C++ 2008 y MFC 9. 

    MS ha animado a los desarrolladores a trasladarse a otros diseños, tales como IDE (como el explorador de Windows tradicional), espacios de trabajo con pestañas (como navegadores modernos e IDEs), o los modelos de navegación (como la web o aplicaciones WPF)


    IDE significa Integrated Development Environment y su concepto es ser una herramienta que aglutine a varias herramientas en un solo lugar. En general, no tiene nada que ver con MDI. Es más, IDEs como el Visual Studio utilizan MDI y su variante, TDI (MDI con tabs). Y los modelos de navegación son solo una más de las opciones que Microsoft pone a nuestra disposición. 

    Una buena explicación sobre por qué WPF no cuenta con MDI se puede leer en el blog de Lauren Lavoie: 

    Cito: 
    Probablemente haya alrededor de 20 "sabores" de MDI. Word incorpora MDI diferente de Excel, Excel lo hace diferente a Visual Studio, éste diferente de Firefox (y sí, puedes haber notado mi implicación de que la navegación por pestañas es solo otro sabor de MDI), Firefox lo hace diferente de OneNote. De hecho, muchas aplicaciones utilizar su propia versión de MDI porque el sabor que provee el API de la plataforma no es completamente el adecuado. Antes de que implementemos algo tan monolítico como MDI, queremos estar seguros de escoger el sabor adecuado -- o hacerlo en una forma lo suficientemente felxible para que nuestros desarrolladores puedan personalizarlo para cubrir sus necesidades. No creo que alguno de nosotros sepa la forma correcta de hacer esto, al momento -- una gran parte de esto viene de entender las necesidades de nuestros clientes que actualmente estan construyendo con WPF (ese eres tú, y por ende la pregunta de retroalimentación al final de este post). 

    En mi opinión, no creo que MS haya dejado de importarle MDI, sino simplemente hay que pensarlo bien para no cometer errores que se arrastren a lo largo de los años (como ha pasado con algunas cosas de MFC y WinForms). 

    Saludos. 


    Fernando Gómez
    www.fermasmas.com
    • Marcado como respuesta Fsigu viernes, 8 de enero de 2010 16:41
    martes, 3 de noviembre de 2009 1:14

Todas las respuestas

  • MS ha estado tratando de matar a la interfaz de múltiples documentos (MDI) desde Windows 95. La mayoría de sus aplicaciones se han alejado de ella, y aunque MDI está bien soportado en Windows Forms, no ha habido ninguna mejora en su funcionamiento desde Windows 95.

    MS ha animado a los desarrolladores a trasladarse a otros diseños, tales como IDE (como el explorador de Windows tradicional), espacios de trabajo con pestañas (como navegadores modernos e IDEs), o los modelos de navegación (como la web o aplicaciones WPF).

    WPF no lo soporta de fabrica, aunque si te es necesario incluir la funcionalidad de MDI en WPF puedes hacer uso de cualquiera de estos proyectos de Codeplex:

    http://wpfmdi.codeplex.com/

    http://wpfmultidoc.codeplex.com/


    Please mark posts as answers/helpful if it answers your question
    • Propuesto como respuesta David_González lunes, 9 de noviembre de 2009 14:13
    lunes, 2 de noviembre de 2009 16:24
  • MS ha estado tratando de matar a la interfaz de múltiples documentos (MDI) desde Windows 95. La mayoría de sus aplicaciones se han alejado de ella


    Claro. Por eso aplicaciones como TODA la suite de Office (2007), Visual Studio (2010), SQL Server Management Studio (2008), Internet Explorer (2008), toda la suite de Blend (2008), por mencionar las primeras que me vienen a la mente, utilizan MDI o alguna de sus variantes, como TDI.

    La verdad es que MDI ha mejorado al paso del tiempo y Microsoft ha intentado hacer que MDI mejore al sacar algunas variantes útiles, como el Tabbed Document Interface, que utilizan aplicaciones como Visual Studio, o el Compound Document Support, que utilizan Word y Excel. Por no mencionar el soporte añadido para utilizar Office Rich UI (i.e. el Ribbon, etc) para Visual C++ 2008 y MFC 9. 

    MS ha animado a los desarrolladores a trasladarse a otros diseños, tales como IDE (como el explorador de Windows tradicional), espacios de trabajo con pestañas (como navegadores modernos e IDEs), o los modelos de navegación (como la web o aplicaciones WPF)


    IDE significa Integrated Development Environment y su concepto es ser una herramienta que aglutine a varias herramientas en un solo lugar. En general, no tiene nada que ver con MDI. Es más, IDEs como el Visual Studio utilizan MDI y su variante, TDI (MDI con tabs). Y los modelos de navegación son solo una más de las opciones que Microsoft pone a nuestra disposición. 

    Una buena explicación sobre por qué WPF no cuenta con MDI se puede leer en el blog de Lauren Lavoie: 

    Cito: 
    Probablemente haya alrededor de 20 "sabores" de MDI. Word incorpora MDI diferente de Excel, Excel lo hace diferente a Visual Studio, éste diferente de Firefox (y sí, puedes haber notado mi implicación de que la navegación por pestañas es solo otro sabor de MDI), Firefox lo hace diferente de OneNote. De hecho, muchas aplicaciones utilizar su propia versión de MDI porque el sabor que provee el API de la plataforma no es completamente el adecuado. Antes de que implementemos algo tan monolítico como MDI, queremos estar seguros de escoger el sabor adecuado -- o hacerlo en una forma lo suficientemente felxible para que nuestros desarrolladores puedan personalizarlo para cubrir sus necesidades. No creo que alguno de nosotros sepa la forma correcta de hacer esto, al momento -- una gran parte de esto viene de entender las necesidades de nuestros clientes que actualmente estan construyendo con WPF (ese eres tú, y por ende la pregunta de retroalimentación al final de este post). 

    En mi opinión, no creo que MS haya dejado de importarle MDI, sino simplemente hay que pensarlo bien para no cometer errores que se arrastren a lo largo de los años (como ha pasado con algunas cosas de MFC y WinForms). 

    Saludos. 


    Fernando Gómez
    www.fermasmas.com
    • Marcado como respuesta Fsigu viernes, 8 de enero de 2010 16:41
    martes, 3 de noviembre de 2009 1:14