Tutorial: Crear nuevo contenido de 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 utilizarlo en sus aplicaciones basadas en formularios Windows Forms.
En este tutorial realizará las siguientes tareas:
Crear el proyecto.
Crear un nuevo control de WPF.
Agregar el nuevo control de WPF a un formulario Windows Forms. El control de WPF se hospeda en un control ElementHost.
Nota
Los cuadros de diálogo y comandos de menú que se ven pueden diferir de los descritos en la Ayuda, en función de los valores de configuración o de edición activos. Para cambiar la configuración, elija la opción Importar y exportar configuraciones del menú Herramientas. Para obtener más información, vea Trabajar con valores de configuración.
Requisitos previos
Necesita los componentes siguientes para completar este tutorial:
- Visual Studio 2008.
Creación del proyecto
El primer paso es crear el proyecto de formularios Windows Forms.
Nota
Cuando se hospeda contenido WPF, sólo se admiten proyectos de C# y Visual Basic.
Para crear el proyecto
- Cree un nuevo proyecto de aplicación de formularios Windows Forms en Visual Basic o Visual C# denominado HostingWpf. Para obtener más información, consulte Cómo: Crear un nuevo proyecto de aplicación de Windows Forms.
Crear un nuevo control de WPF
Crear un nuevo control de WPF y agregarlo a un proyecto es tan fácil como agregar cualquier otro elemento al proyecto. El Diseñador de Windows Forms funciona con un tipo determinado de control denominado control compuesto o control de usuario. Para obtener más información acerca de los controles de usuario de WPF, vea UserControl.
Nota
El tipo System.Windows.Controls.UserControl de WPF es distinto del tipo de control de usuario proporcionado por los formularios Windows Forms, que también se denomina System.Windows.Forms.UserControl.
Para crear un nuevo control de WPF
En el Explorador de soluciones, agregue un nuevo proyecto Biblioteca de controles de usuario de WPF a la solución. Use el nombre predeterminado para la biblioteca de controles, WpfControlLibrary1. El nombre de control predeterminado es UserControl1.xaml.
Al agregar el nuevo control ocurre lo siguiente.
Se agrega el archivo UserControl1.xaml.
Se agrega el archivo UserControl1.xaml.cs o UserControl1.xaml.vb. Este archivo contiene el código subyacente para los controladores de eventos y otra implementación.
Se agregan referencias a ensamblados de WPF.
Se abre el archivo UserControl1.xaml en WPF Designer for Visual Studio.
En la vista de diseño, asegúrese de que UserControl1 está seleccionado. Para obtener más información, consulte Cómo: Seleccionar y mover elementos en la superficie de diseño.
En la ventana Propiedades, establezca el valor de las propiedades Width y Height en 200.
En el Cuadro de herramientas, arrastre un control System.Windows.Controls.TextBox a la superficie de diseño.
En la ventana Propiedades, establezca el valor de la propiedad Text en Hosted Content.
Nota
En general, debería hospedar contenido de WPF más complejo. El control System.Windows.Controls.TextBox se utiliza aquí únicamente con fines ilustrativos.
Compile el proyecto.
Agregar un control de WPF a un formulario Windows Forms
Su nuevo control de WPF está listo para utilizarlo en el formulario. Formularios Windows Forms utiliza el control ElementHost para hospedar el contenido de WPF
Para agregar un control de WPF a un formulario Windows Forms
Abra Form1 en el Diseñador de Windows Forms.
En el Cuadro de herramientas, busque la pestaña Controles de usuario de WPF WPFUserControlLibrary.
Arrastre una instancia de UserControl1 al formulario.
Se crea automáticamente un control ElementHost en el formulario para hospedar el control de WPF.
El control ElementHost se denomina elementHost1, y en la ventana Propiedades puede ver su propiedad Child establecida en UserControl1.
Se agregan las referencias a los ensamblados de WPF al proyecto.
El control elementHost1 tiene un panel de etiquetas inteligentes que muestra las opciones de hospedaje disponibles.
En el panel de etiquetas inteligentes Tareas de ElementHost, seleccione Acoplar en contenedor principal.
Presione F5 para compilar y ejecutar la aplicación.
Pasos siguientes
Formularios Windows Forms y WPF son tecnologías diferentes, pero están diseñadas para operar estrechamente entre sí. Para proporcionar un aspecto y comportamiento más avanzado en sus aplicaciones, pruebe lo siguiente.
Hospede un control de formularios Windows Forms en una página de WPF. Para obtener más información, consulte Tutorial: Hospedar un control de Windows Forms en WPF.
Aplique los estilos visuales de formularios Windows Forms a su contenido de WPF. Para obtener más información, consulte Cómo: Habilitar estilos visuales en una aplicación híbrida.
Cambie el estilo de su contenido de WPF. Para obtener más información, consulte Tutorial: Aplicar estilos al contenido de WPF.