Compartir a través de


Tutorial: Hospedar un control de usuario de formularios Windows Forms mediante WPF Designer

Actualización: noviembre 2007

En este tutorial se muestra cómo utilizar Windows Presentation Foundation (WPF) Designer for Visual Studio para hospedar un control compuesto de formularios Windows Forms en una aplicación de WPF. Para obtener más información acerca de la interoperabilidad de los formularios Windows Forms y WPF, vea Migración e interoperabilidad

Entre las tareas que se explican en este tutorial se incluyen las siguientes:

  • Crear el proyecto.

  • Crear el control compuesto de formularios Windows Forms.

  • Hospedar el control de formularios Windows Forms en una aplicación de WPF.

Nota:

Los cuadros de diálogo y comandos de menú que se ven pueden diferir de los descritos en la Ayuda, dependiendo de los valores de configuración o de edición activos. Para cambiar la configuración, elija Importar y exportar configuraciones en el menú Herramientas. Para obtener más información, vea Valores de configuración de Visual Studio.

Requisitos previos

Necesita los componentes siguientes para completar este tutorial:

  • Visual Studio 2008.

Crear el proyecto

El primer paso es crear el proyecto para la aplicación host.

Para crear el proyecto

  1. Cree un proyecto de aplicación de WPF denominado “DemoApplication”. Para obtener más información, vea Cómo: Crear un nuevo proyecto de aplicación de WPF.

    Window1.xaml se abrirá en el WPF Designer. 

  2. En el Explorador de soluciones, agregue una referencia al ensamblado WindowsFormsIntegration, denominado WindowsFormsIntegration.dll.

  3. En el Explorador de soluciones, agregue una referencia al ensamblado de formularios Windows Forms, denominado System.Windows.Forms.dll.

Crear el control compuesto de formularios Windows Forms

En este procedimiento se muestra cómo crear un control compuesto que ajusta su tamaño al contenido. El control TableLayoutPanel y la propiedad AutoSize proporcionan la función de diseño dinámico de control. Para obtener más información, vea TableLayoutPanel (Control, formularios Windows Forms).

Para crear el control compuesto de formularios Windows Forms

  1. Agregue un nuevo proyecto de biblioteca de controles de formularios Windows Forms denominado "DemoControlLibrary" a la solución. Para obtener más información, vea Cómo: Agregar y quitar elementos de una solución.

    Se abre UserControl1 en el Diseñador de Windows Forms.

  2. En el Cuadro de herramientas, haga doble clic en el control TableLayoutPanel. Se muestra un control TableLayoutPanel en la superficie de diseño.

  3. Seleccione Quitar la última fila en el menú de etiquetas inteligentes Tareas de TableLayoutPanel.

  4. En la ventana Propiedades, establezca el valor de la propiedad Dock en Fill.

  5. En el Cuadro de herramientas, agregue un control Label a la primera celda del control TableLayoutPanel.

  6. En la ventana Propiedades, establezca las siguientes propiedades para el control Label:

    Propiedad

    Valor

    AutoSize

    True

    Dock

    Fill

    Margin

    0,0,0,0

    Text

    Enter Date:

    TextAlign

    MiddleCenter

  7. En el Cuadro de herramientas, agregue un control MaskedTextBox a la segunda celda del control TableLayoutPanel.

  8. Haga clic en el glifo de etiqueta inteligente () en el control MaskedTextBox y seleccione Establecer máscara en el menú Tareas de MaskedTextBox.

    Aparece el cuadro de diálogo Máscara de entrada.

  9. En la columna Descripción de la máscara, seleccione Fecha corta y haga clic en el botón Aceptar.

  10. En la parte superior de la ventana Propiedades, seleccione el control TableLayoutPanel en la lista desplegable.

  11. Establezca el valor de la propiedad AutoSize en true.

  12. En la parte superior de la ventana Propiedades, seleccione UserControl1.

  13. Establezca el valor de la propiedad AutoSize en true y el valor de la propiedad Size en 0,0.

    UserControl1 cambia su tamaño para ajustarse al contenido.

  14. En el menú Generar, seleccione Generar solución para generar la solución.

Hospedar el control de formularios Windows Forms en WPF

Se utiliza el elemento WindowsFormsHost para hospedar UserControl1 en una aplicación de WPF.

Para hospedar el control de formularios Windows Forms en WPF

  1. En el proyecto DemoApplication del Explorador de soluciones, agregue una referencia al proyecto DemoControlLibrary. Para obtener más información, vea Cómo: Agregar o quitar referencias en Visual Studio (Visual Basic).

  2. Abra el archivo Window1.xaml en WPF Designer.

  3. En la vista XAML, importe el espacio de nombres DemoControlLibrary insertando la asignación de espacio de nombres siguiente en la etiqueta de apertura Window. Para obtener más información, vea Cómo: Importar un espacio de nombres a XAML.

    xmlns:dc="clr-namespace:DemoControlLibrary;assembly=DemoControlLibrary"
    
  4. Después de la etiqueta de apertura Grid, inserte el código siguiente.

    <WindowsFormsHost HorizontalAlignment="Left" VerticalAlignment="Top">
        <dc:UserControl1/>
    </WindowsFormsHost>
    

    Aparece en el diseñador un área que representa el control de formularios Windows Forms hospedado.

Pasos siguientes

También puede hospedar controles de WPF en formularios Windows Forms. Para obtener más información, vea Usar controles de Windows Presentation Foundation.

Vea también

Tareas

Tutorial: Hospedar un control de formularios Windows Forms en Windows Presentation Foundation

Referencia

WindowsFormsHost

ElementHost

Otros recursos

Trabajar con controles en WPF Designer

Migración e interoperabilidad