Partager via


Procédure pas à pas : hébergement d'un contrôle utilisateur Windows Forms à l'aide du Concepteur WPF

Cette procédure pas à pas vous indique comment utiliser le Concepteur WPF pour Visual Studio pour héberger un contrôle composite Windows Forms dans une application WPF. Pour plus d'informations sur l'interopérabilité Windows Forms et WPF, consultez Migration et interopérabilité

Cette procédure pas à pas explique les tâches suivantes :

  • création du projet ;

  • création du contrôle composite Windows Forms ;

  • hébergement du contrôle Windows Forms dans une application WPF.

Notes

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 Utilisation des paramètres.

Composants requis

Pour exécuter cette procédure pas à pas, vous devez disposer des composants suivants :

  • Visual Studio 2010.

Création du projet

La première étape consiste à créer le projet comme application hôte.

Pour créer le projet

  1. Créez un projet Application WPF nommé « DemoApplication ». Pour plus d'informations, consultez Comment : créer un projet d'application WPF.

    MainWindow.xaml s'ouvre dans le Concepteur WPF. 

  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.

Création du contrôle composite Windows Forms

Cette procédure indique comment créer un contrôle composite qui adapte sa taille à son contenu. Le contrôle TableLayoutPanel et la propriété AutoSize fournissent la fonction de disposition dynamique du contrôle. Pour plus d'informations, consultez TableLayoutPanel, contrôle (Windows Forms).

Pour créer le contrôle composite Windows Forms

  1. Ajoutez un nouveau projet bibliothèque de contrôles Windows Forms nommé « DemoControlLibrary » à la solution. Pour plus d'informations, consultez Comment : ajouter et supprimer des éléments de solution.

    UserControl1 s'ouvre dans le concepteur Windows Forms.

  2. Depuis la Boîte à outils, double-cliquez sur le contrôle TableLayoutPanel. Un contrôle TableLayoutPanel apparaît sur l'aire de conception.

  3. Sélectionnez Supprimer la dernière ligne dans le menu de balise active Tâches TableLayoutPanel.

  4. Dans la fenêtre Propriétés, affectez à la propriété Dock la valeur Fill.

  5. Depuis la Boîte à outils, ajoutez un contrôle Label à la première cellule du contrôle TableLayoutPanel.

  6. Dans la fenêtre Propriétés, définissez les propriétés suivantes pour le contrôle Label.

    Propriété

    Valeur

    AutoSize

    True

    Dock

    Fill

    Margin

    0,0,0,0

    Texte

    Saisir date :

    TextAlign

    MiddleCenter

  7. Depuis la Boîte à outils, ajoutez un contrôle MaskedTextBox dans la seconde cellule du contrôle TableLayoutPanel.

  8. Cliquez sur le glyphe de balise active (Glyphe de balise active) sur le contrôle MaskedTextBox et sélectionnez Définir le masque dans le menu Tâches MaskedTextBox.

    La boîte de dialogue Masque de saisie apparaît.

  9. Dans la colonne Description du masque, sélectionnez Date courte (ou une autre description de masque prédéfinie) et cliquez sur le bouton OK.

  10. Au sommet de la fenêtre Propriétés, sélectionnez le contrôle TableLayoutPanel dans la liste déroulante.

  11. Affectez à la propriété AutoSize la valeur true.

  12. Au sommet de la fenêtre Propriétés, sélectionnez UserControl1.

  13. Affectez à la propriété AutoSize la valeur true, puis affectez à la propriété Size la valeur 0,0.

    UserControl1 se redimensionne en fonction de son contenu.

  14. Dans le menu Générer, sélectionner Générer la solution pour générer la solution.

Hébergement du contrôle Windows Forms dans WPF

Vous utilisez l'élément WindowsFormsHost pour héberger UserControl1 dans une application WPF.

Pour héberger le contrôle Windows Forms dans WPF

  1. Dans le projet DemoApplication de l'explorateur de solutions, ajoutez une référence au projet DemoControlLibrary. Pour plus d'informations, consultez Comment : ajouter ou supprimer des références dans Visual Studio.

  2. Ouvrez MainWindow.xaml dans le Concepteur WPF.

  3. En mode XAML, importez l'espace de noms DemoControlLibrary en insérant le mappage d'espace de noms suivant dans la balise d'ouverture Window. Pour plus d'informations, consultez Comment : importer un espace de noms en XAML.

    xmlns:dc="clr-namespace:DemoControlLibrary;assembly=DemoControlLibrary"
    
  4. Après la balise d'ouverture Grid, insérez le code suivant.

    <WindowsFormsHost HorizontalAlignment="Left" VerticalAlignment="Top">
        <dc:UserControl1/>
    </WindowsFormsHost>
    

    Une zone représentant le contrôle Windows Forms hébergé apparaît dans le concepteur.

  5. Exécutez la solution pour tester le contrôle utilisateur.

Étapes suivantes

Vous pouvez également héberger des contrôles WPF dans les Windows Forms. Pour plus d'informations, consultez Utilisation de contrôles WPF.

Voir aussi

Tâches

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

Référence

WindowsFormsHost

ElementHost

Autres ressources

Utilisation de contrôles dans le Concepteur WPF

Migration et interopérabilité