Procédure pas à pas : hébergement d'un contrôle Windows Forms dans WPF
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 Windows Forms System.Windows.Forms.MaskedTextBox sur une page WPF en utilisant du code.
Pour obtenir l'intégralité du code des tâches illustrées dans cette procédure pas à pas, consultez Hébergement d'un contrôle Windows Forms dans Windows Presentation Foundation, exemple.
Composants requis
Pour exécuter cette procédure pas à pas, vous devez disposer des composants suivants :
- Visual Studio 2010.
Hébergement du contrôle Windows Forms
Pour héberger le contrôle MaskedTextBox
Créez un projet Application WPF nommé HostingWfInWpf.
Ajoutez des références aux assemblys suivants.
WindowsFormsIntegration
System.Windows.Forms
Ouvrez MainWindow.xaml dans le Concepteur WPF.
Nommez l'élément Grid grid1.
<Grid Name="grid1"> </Grid>
En mode Design ou XAML, sélectionnez l'élément Window.
Dans la fenêtre Propriétés, cliquez sur l'onglet Événements.
Double-cliquez sur l'événement Loaded.
Insérez le code suivant pour gérer l'événement Loaded.
Private Sub Window_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs) ' Create the interop host control. Dim host As New System.Windows.Forms.Integration.WindowsFormsHost() ' Create the MaskedTextBox control. Dim mtbDate As New MaskedTextBox("00/00/0000") ' Assign the MaskedTextBox control as the host control's child. host.Child = mtbDate ' Add the interop host control to the Grid ' control's collection of child controls. Me.grid1.Children.Add(host) End Sub
private void Window_Loaded(object sender, RoutedEventArgs e) { // Create the interop host control. System.Windows.Forms.Integration.WindowsFormsHost host = new System.Windows.Forms.Integration.WindowsFormsHost(); // Create the MaskedTextBox control. MaskedTextBox mtbDate = new MaskedTextBox("00/00/0000"); // Assign the MaskedTextBox control as the host control's child. host.Child = mtbDate; // Add the interop host control to the Grid // control's collection of child controls. this.grid1.Children.Add(host); }
En haut du fichier, ajoutez l'instruction Imports ou using suivante.
Imports System.Windows.Forms
using System.Windows.Forms;
Appuyez sur F5 pour générer et exécuter l'application.
Voir aussi
Tâches
Procédure pas à pas : hébergement d'un contrôle Windows Forms dans WPF avec XAML
Référence
Concepts
Procédure pas à pas : hébergement d'un contrôle composite Windows Forms dans WPF
Procédure pas à pas : hébergement d'un contrôle composite WPF dans les Windows Forms
Contrôles Windows Forms et contrôles WPF équivalents
Autres ressources
Historique des modifications
Date |
Historique |
Motif |
---|---|---|
Août 2010 |
Mise à niveau pour Visual Studio 2010. |
Commentaires client. |