Tutorial: Hospedar un control de formularios Windows Forms en Windows Presentation Foundation mediante el uso de XAML
Actualización: noviembre 2007
WPF proporciona numerosos controles con un completo conjunto de características. Sin embargo, en ocasiones puede que prefiera utilizar controles de formularios Windows Forms en páginas de WPF. Por ejemplo, es posible que disponga de un importante parque de controles de formularios Windows Forms existentes, o un control de formularios Windows Forms que proporcione una funcionalidad única.
En este tutorial se muestra cómo hospedar un control System.Windows.Forms.MaskedTextBox de formularios Windows Forms en una página de WPF mediante XAML.
Para ver una lista de código completa de las tareas mostradas en este tutorial, consulte Ejemplo Hosting a Windows Forms Control in Windows Presentation Foundation by Using XAML.
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 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.
Hospedar un control de formularios Windows Forms
Para hospedar el control MaskedTextBox
Cree un proyecto de aplicación de WPF denominado HostingWfInWpf.
En el Explorador de soluciones, agregue una referencia al ensamblado WindowsFormsIntegration, denominado WindowsFormsIntegration.dll.
En el Explorador de soluciones, agregue una referencia al ensamblado formularios Windows Forms, denominado System.Windows.Forms.dll.
Abra Window1.xaml en WPF Designer.
Reemplace el código de Window1.xaml por el código del ejemplo siguiente:
La asignación del espacio de nombres wf establece una referencia a la DLL que contiene el control de formularios Windows Forms. El control MaskedTextBox se crea como elemento secundario del control WindowsFormsHost.
<Window x:Class="Window1" xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" Title="HostingWfInWpf" > <Grid> <WindowsFormsHost> <wf:MaskedTextBox x:Name="mtbDate" Mask="00/00/0000"/> </WindowsFormsHost> </Grid> </Window>
<Window x:Class="HostingWfInWpf.Window1" xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" Title="HostingWfInWpf" > <Grid> <WindowsFormsHost> <wf:MaskedTextBox x:Name="mtbDate" Mask="00/00/0000"/> </WindowsFormsHost> </Grid> </Window>
Vea también
Tareas
Tutorial: Hospedar un control de formularios Windows Forms en Windows Presentation Foundation
Ejemplo Hosting a Windows Forms Control in Windows Presentation Foundation by Using XAML
Conceptos
Tutorial: Hospedar un control de Windows Presentation Foundation en formularios Windows Forms
Controles de formularios Windows Forms y controles equivalentes de WPF