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:
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 esUserControl1.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.
En la vista Diseño, asegúrese de que
UserControl1
está seleccionado.En la ventana Propiedades, establezca el valor de las propiedades Width y Height en 200.
Desde el Cuadro de herramientas, arrastre un control System.Windows.Controls.TextBox hasta la superficie de diseño.
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.
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:
Abra
Form1
en el Diseñador de Windows Forms.En el Cuadro de herramientas, busque la pestaña etiquetada Controles de usuario de WPF WPFUserControlLibrary.
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.
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
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:
Hospede un control de Windows Forms en una página WPF. Para obtener más información, consulte Tutorial: Hospedar un control de Windows Forms en WPF.
Aplique estilos visuales de Windows Forms a su contenido de WPF. Para más información, vea 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, vea Tutorial: Aplicar estilos al contenido WPF.
Consulte también
.NET Desktop feedback