Exemplarische Vorgehensweise: Hosten eines Windows Forms-Steuerelements in WPF
Aktualisiert: August 2010
WPF stellt viele Steuerelemente mit einem umfangreichen Featuresatz bereit. Es kann jedoch vorkommen, dass Sie auf Ihren WPF-Seiten Windows Forms-Steuerelemente verwenden möchten. Beispielsweise könnte eine beträchtliche Investition in Windows Forms-Steuerelementen vorliegen, oder Sie verfügen über ein Windows Forms-Steuerelement, das eine einzigartige Funktionalität zur Verfügung stellt.
In dieser exemplarischen Vorgehensweise wird das Hosten eines Windows Forms System.Windows.Forms.MaskedTextBox-Steuerelements auf einer WPF-Seite mithilfe von Code beschrieben.
Eine vollständige Codeauflistung der Aufgaben, die in dieser exemplarischen Vorgehensweise gezeigt wurden, finden Sie unter Beispiel zum Hosten eines Windows Forms-Steuerelements in WPF.
Vorbereitungsmaßnahmen
Zum Durchführen dieser exemplarischen Vorgehensweise benötigen Sie die folgenden Komponenten:
- Visual Studio 2010.
Hosten des Windows Forms-Steuerelements
So hosten Sie das MaskedTextBox-Steuerelement
Erstellen Sie ein WPF-Anwendungsprojekt mit dem Namen HostingWfInWpf.
Fügen Sie Verweise auf die folgenden Assemblys hinzu.
WindowsFormsIntegration
System.Windows.Forms
Öffnen Sie im WPF-Designer die Datei MainWindow.xaml.
Geben Sie für das Grid-Element den Namen grid1 ein.
<Grid Name="grid1"> </Grid>
Wählen Sie in der Designansicht oder XAML-Ansicht das Window-Element aus.
Klicken Sie im Eigenschaftenfenster auf die Registerkarte Ereignisse.
Doppelklicken Sie auf das Loaded-Ereignis.
Fügen Sie folgenden Code ein, um das Loaded-Ereignis zu behandeln.
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); }
Fügen Sie am Anfang der Datei die folgende Imports- oder using-Anweisung hinzu.
Imports System.Windows.Forms
using System.Windows.Forms;
Drücken Sie F5, um die Anwendung zu erstellen und auszuführen.
Siehe auch
Aufgaben
Exemplarische Vorgehensweise: Hosten eines Windows Forms-Steuerelements in WPF mithilfe von XAML
Referenz
Konzepte
Exemplarische Vorgehensweise: Hosten eines zusammengesetzten Windows Forms-Steuerelements in WPF
Exemplarische Vorgehensweise: Hosten eines zusammengesetzten WPF-Steuerelements in Windows Forms
Windows Forms-Steuerelemente und äquivalente WPF-Steuerelemente
Weitere Ressourcen
Beispiel zum Hosten eines Windows Forms-Steuerelements in WPF
Änderungsprotokoll
Datum |
Versionsgeschichte |
Grund |
---|---|---|
August 2010 |
Aktualisiert für Visual Studio 2010. |
Kundenfeedback. |