Tutorial: Crear nuevo contenido WPF en Windows Forms en tiempo de diseño

En este tema se muestra cómo crear un control de Windows Presentation Foundation (WPF) para usarlo en aplicaciones basadas en Windows Forms.

Requisitos previos

Necesita Visual Studio para completar este tutorial.

Crear el proyecto

Abra Visual Studio y cree un proyecto Aplicación de Windows Forms (.NET Framework) en Visual Basic o Visual C# llamado HostingWpf.

Nota:

Al hospedar contenido de WPF, solo se admiten proyectos de C# y Visual Basic.

Crear un nuevo control WPF

Crear un nuevo control WPF y agregarlo al proyecto es tan fácil como agregar cualquier otro elemento al proyecto. El Diseñador de Windows Forms trabaja con un tipo determinado de control llamado control compuesto, o control de usuario. Para obtener más información acerca de los controles de usuario WPF, consulte UserControl.

Nota:

El tipo de System.Windows.Controls.UserControl para WPF es distinto del tipo de control de usuario proporcionado por Windows Forms, que también se llama System.Windows.Forms.UserControl.

Para crear un nuevo control WPF:

  1. En el Explorador de soluciones, agregue un nuevo proyecto Biblioteca de controles de usuario de WPF (.NET Framework) a la solución. Use el nombre predeterminado de la biblioteca de controles, WpfControlLibrary1. El nombre predeterminado del control es UserControl1.xaml.

    Agregar el nuevo control tiene los siguientes efectos:

    • Se agrega el archivo UserControl1.xaml.

    • Se agrega el archivo UserControl1.xaml.cs o UserControl1.xaml.vb. Este archivo contiene el código subyacente de los controladores de eventos y otras implementaciones.

    • Se agregan referencias a ensamblados de WPF.

    • El archivo UserControl1.xaml se abre en WPF Designer para Visual Studio.

  2. En la vista Diseño, asegúrese de que UserControl1 está seleccionado.

  3. En la ventana Propiedades, establezca el valor de las propiedades Width y Height en 200.

  4. Desde el Cuadro de herramientas, arrastre un control System.Windows.Controls.TextBox hasta la superficie de diseño.

  5. En la ventana Propiedades, establezca el valor de la propiedad Text en Contenido hospedado.

    Nota:

    Por lo general, debería hospedar contenido WPF más sofisticado. El control System.Windows.Controls.TextBox se usa aquí únicamente con fines ilustrativos.

  6. Compile el proyecto.

Agregar un control WPF a un Windows Form

El nuevo control WPF está listo para usarse en el formulario. Windows Forms usa el control ElementHost para hospedar contenido WPF.

Para agregar un control WPF a un Windows Form:

  1. Abra Form1 en el Diseñador de Windows Forms.

  2. En el Cuadro de herramientas, busque la pestaña etiquetada Controles de usuario de WPF WPFUserControlLibrary.

  3. Arrastre una instancia de UserControl1 hasta el formulario.

    • Se crea automáticamente un control ElementHost en el formulario para hospedar el control WPF.

    • El control ElementHost se llama elementHost1 y, en la ventana Propiedades, puede ver que su propiedad Child está establecida en UserControl1.

    • Se agregan referencias a ensamblados de WPF al proyecto.

    • El control elementHost1 tiene un panel de etiquetas inteligentes que muestra las opciones de hospedaje disponibles.

  4. En el panel de etiquetas inteligentes Tareas de ElementHost, seleccione Acoplar en contenedor principal.

  5. Presione F5 para compilar y ejecutar la aplicación.

Pasos siguientes

Windows Forms y WPF son tecnologías diferentes, pero están diseñadas para interoperar estrechamente. Para proporcionar un aspecto y un comportamiento más enriquecido a sus aplicaciones, pruebe lo siguiente:

Consulte también