Procédure pas à pas : organiser le contenu WPF sur Windows Forms au moment du design
Cet article explique comment utiliser les fonctionnalités de disposition Windows Forms, telles que l’ancrage et les lignes d’ancrage, pour organiser les contrôles WPF (Windows Presentation Foundation).
Prérequis
Cette procédure pas à pas nécessite Visual Studio.
Créer le projet
Ouvrez Visual Studio et créez un projet d’application Windows Forms dans Visual Basic ou Visual C# nommé ArrangeElementHost
.
Remarque
Lors de l'hébergement de contenu WPF, seuls les projets Visual Basic et C# sont pris en charge.
Créer le contrôle WPF
Après avoir ajouté un contrôle WPF au projet, vous pouvez le disposer sur le formulaire.
Ajoutez un nouveau UserControl WPF au projet. Utilisez le nom par défaut pour le type de contrôle,
UserControl1.xaml
. Pour plus d’informations, consultez Procédure pas à pas : création de contenu WPF sur Windows Forms au moment du design.En mode Design, assurez-vous que
UserControl1
est sélectionné.Dans la fenêtre Propriétés, définissez la valeur des Width propriétés sur Height 200.
Définissez la valeur de la Background propriété sur Blue.
Créez le projet.
Héberger des contrôles WPF dans un panneau de disposition
Vous pouvez utiliser des contrôles WPF dans des panneaux de disposition de la même façon que vous utilisez d'autres contrôles Windows Forms.
Ouvrez
Form1
dans le Concepteur Windows Forms.Dans la boîte à outils, faites glisser un TableLayoutPanel contrôle sur le formulaire.
Dans le TableLayoutPanel panneau d’étiquettes actives du contrôle, sélectionnez Supprimer la dernière ligne.
Augmentez la largeur et la hauteur du contrôle TableLayoutPanel.
Dans la boîte à outils, double-cliquez
UserControl1
pour créer une instance deUserControl1
la première cellule du TableLayoutPanel contrôle.L'instance de
UserControl1
est hébergée dans un nouveau contrôle ElementHost nomméelementHost1
.Dans la boîte à outils, double-cliquez
UserControl1
pour créer une autre instance dans la deuxième cellule du TableLayoutPanel contrôle.Dans la fenêtre Plan du document, sélectionnez
tableLayoutPanel1
.Dans la fenêtre Propriétés , définissez la valeur de la Padding propriété sur 10, 10, 10, 10.
Les deux contrôles ElementHost sont redimensionnés pour s'adapter à la nouvelle disposition.
Utiliser des lignes d’alignement pour aligner les contrôles WPF
Les lignes d'alignement permettent d'aligner facilement les contrôles sur un formulaire. Vous pouvez aussi utiliser des lignes d'alignement pour aligner vos contrôles WPF. Pour plus d’informations, consultez Procédure pas à pas : organiser des contrôles sur Windows Forms à l’aide de lignes d’alignement.
À partir de la boîte à outils, faites glisser une instance du
UserControl1
formulaire et placez-la dans l’espace sous le TableLayoutPanel contrôle.L'instance de
UserControl1
est hébergée dans un nouveau contrôle ElementHost nomméelementHost3
.À l'aide des lignes d'alignement, alignez le bord gauche de
elementHost3
avec le bord gauche du contrôle TableLayoutPanel.À l'aide des lignes d'alignement, affectez à
elementHost3
la même largeur que celle du contrôle TableLayoutPanel.Déplacez
elementHost3
vers le contrôle TableLayoutPanel jusqu'à ce qu'une ligne d'alignement centrale apparaisse entre les contrôles.Dans la fenêtre Propriétés , définissez la valeur de la propriété Margin sur 20, 20, 20, 20, 20.
Déplacez le
elementHost3
hors du contrôle TableLayoutPanel jusqu'à ce que la ligne d'alignement centrale réapparaisse. La ligne d'alignement centrale indique maintenant une marge de 20.Se déplacer
elementHost3
vers la droite jusqu’à ce que son bord gauche s’aligne avec le bord gauche deelementHost1
.Modifiez la largeur de
elementHost3
jusqu'à ce que son bord droit soit aligné avec le bord droit deelementHost2
.
Ancrer et ancrer des contrôles WPF
Un contrôle WPF hébergé sur un formulaire a le même comportement d'ancrage que d'autres contrôles Windows Forms.
Sélectionnez
elementHost1
.Dans la fenêtre Propriétés , définissez la Anchor propriété sur Top, Bottom, Left, Right.
Agrandissez le contrôle TableLayoutPanel.
Le contrôle
elementHost1
est redimensionné pour remplir la cellule.Sélectionnez
elementHost2
.Dans la fenêtre Propriétés , définissez la valeur de la Dock propriété sur Fill.
Le contrôle
elementHost2
est redimensionné pour remplir la cellule.Sélectionnez le contrôle TableLayoutPanel.
Sélectionnez
elementHost3
.Affectez à sa propriété Dock la valeur Fill.
Le contrôle
elementHost3
est redimensionné pour remplir l'espace restant sur le formulaire.Redimensionnez le formulaire.
Les trois contrôles ElementHost sont redimensionnés correctement.
Pour plus d’informations, consultez Guide pratique pour ancrer et ancrer des contrôles enfants dans un contrôle TableLayoutPanel.
Voir aussi
- ElementHost
- WindowsFormsHost
- Guide pratique pour ancrer et arrimer des contrôles enfants dans un contrôle TableLayoutPanel
- Guide pratique pour aligner un contrôle sur les bords des formulaires au moment du design
- Procédure pas à pas : organisation des contrôles dans les Windows Forms à l’aide des lignes d’alignement
- Migration et interopérabilité
- Utilisation de contrôles WPF
- Concevoir en XAML dans Visual Studio
.NET Desktop feedback