Share via


Procédure pas à pas : hébergement d'un contrôle Windows Forms dans Windows Presentation Foundation avec XAML

Mise à jour : novembre 2007

WPF fournit de nombreux contrôles dotés d'un ensemble de fonctionnalités riche. Toutefois, vous pouvez parfois souhaiter utiliser des contrôles Windows Forms sur vos pages WPF. Par exemple, vous pouvez avoir un investissement substantiel dans les contrôles Windows Forms existants, ou vous pouvez avoir un contrôle Windows Forms qui fournit des fonctionnalités uniques.

Cette procédure pas à pas vous indique comment héberger un contrôle de Windows Forms System.Windows.Forms.MaskedTextBox sur une page WPF en utilisant XAML.

Pour une liste de code complète des tâches affichées dans cette procédure pas à pas, consultez Hébergement d'un contrôle Windows Forms dans Windows Presentation Foundation avec XAML, exemple.

Remarque Les boîtes de dialogue et les commandes de menu qui s'affichent peuvent être différentes de celles qui sont décrites dans l'aide, en fonction de vos paramètres actifs ou de l'édition utilisée. Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils. Pour plus d'informations, consultez Paramètres Visual Studio.

Composants requis

Les composants suivants sont nécessaires pour exécuter cette procédure pas à pas :

  • Visual Studio 2008.

Hébergement du contrôle Windows Forms

Pour héberger le contrôle MaskedTextBox

  1. Créez un projet Application WPF nommé HostingWfInWpf.

  2. Dans l'Explorateur de solutions, ajoutez une référence à l'assembly WindowsFormsIntegration nommé WindowsFormsIntegration.dll.

  3. Dans l'Explorateur de solutions, ajoutez une référence à l'assembly Windows Forms nommé System.Windows.Forms.dll.

  4. Ouvrez Window1.xaml dans le Concepteur WPF.

  5. Remplacez le code dans Window1.xaml par le code de l'exemple suivant.

    Le mappage de l'espace de noms wf établit une référence à la DLL qui contient le contrôle Windows Forms. Le contrôle MaskedTextBox est créé comme enfant du contrôle 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>
    

Voir aussi

Tâches

Procédure pas à pas : hébergement d'un contrôle Windows Forms dans Windows Presentation Foundation

Hébergement d'un contrôle Windows Forms dans Windows Presentation Foundation avec XAML, exemple

Concepts

Procédure pas à pas : hébergement d'un contrôle composite Windows Forms dans Windows Presentation Foundation

Procédure pas à pas : hébergement d'un contrôle Windows Presentation Foundation dans les Windows Forms

Contrôles Windows Forms et contrôles WPF équivalents

Référence

ElementHost

WindowsFormsHost

Autres ressources

Concepteur WPF

Rubriques Comment relatives à la migration et à l'interopérabilité