Tutorial: Hospedar un control de Windows Forms en WPF mediante XAML

WPF proporciona numerosos controles con un conjunto de características enriquecidas. Pero en ocasiones le interesará usar controles de Windows Forms en las páginas de WPF. Por ejemplo, es posible que haya realizado una inversión importante en controles de Windows Forms existentes o que tenga un control de Windows Forms que ofrece una funcionalidad única.

En este tutorial se muestra cómo hospedar un control System.Windows.Forms.MaskedTextBox de Windows Forms en una página de WPF mediante XAML.

Para obtener una lista de código completa de las tareas mostradas en este tutorial, vea Ejemplo de hospedaje de un control de Windows Forms en WPF mediante XAML.

Requisitos previos

Necesita Visual Studio para completar este tutorial.

Hospedar el control de Windows Forms

Para hospedar el control MaskedTextBox

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

  2. Agregue referencias a los ensamblados siguientes.

    • WindowsFormsIntegration

    • System.Windows.Forms

  3. Abra MainWindow.xaml en WPF Designer.

  4. En el elemento Window, agregue la siguiente asignación de espacio de nombres. La asignación de espacio de nombres wf establece una referencia al ensamblado que contiene el control de Windows Forms.

    xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"  
    
  5. En el elemento Grid, agregue el código XAML siguiente.

    El control MaskedTextBox se crea como un elemento secundario del control WindowsFormsHost.

    <Grid>
    
        <WindowsFormsHost>
            <wf:MaskedTextBox x:Name="mtbDate" Mask="00/00/0000"/>
        </WindowsFormsHost>
    
    </Grid>
    
    
  6. Presione F5 para compilar y ejecutar la aplicación.

Vea también