Compartir a través de


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

  1. Cree un proyecto de aplicación de WPF denominado HostingWfInWpf.

  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 formularios Windows Forms, denominado System.Windows.Forms.dll.

  4. Abra Window1.xaml en WPF Designer.

  5. 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 compuesto de formularios Windows Forms en Windows Presentation Foundation

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

Controles de formularios Windows Forms y controles equivalentes de WPF

Referencia

ElementHost

WindowsFormsHost

Otros recursos

WPF Designer

Temas "Cómo..." de migración e interoperabilidad