Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
WPF bietet viele Steuerelemente mit einem umfangreichen Featuresatz. Es kann jedoch vorkommen, dass Sie Windows Forms-Steuerelemente auf Ihren WPF-Seiten verwenden möchten. Sie können beispielsweise eine erhebliche Investition in vorhandene Windows Forms-Steuerelemente haben oder über ein Windows Forms-Steuerelement verfügen, das eindeutige Funktionen bereitstellt.
In dieser exemplarischen Vorgehensweise wird gezeigt, wie Sie ein Windows Forms-Steuerelement System.Windows.Forms.MaskedTextBox auf einer WPF-Seite mithilfe von Code hosten.
Eine vollständige Codeauflistung der in dieser exemplarischen Vorgehensweise gezeigten Aufgaben finden Sie unter Hosten eines Windows Forms-Steuerelements im WPF-Beispiel.
Voraussetzungen
Sie benötigen Visual Studio, um diese Anleitung abzuschließen.
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 "MainWindow.xaml" im WPF-Designer.
Benennen Sie das Grid Element
grid1
.<Grid Name="grid1"> </Grid>
Wählen Sie in der Entwurfsansicht oder XAML-Ansicht das Window Element aus.
Klicken Sie im Fenster „Eigenschaften“ auf die Schaltfläche Ereignisse.
Doppelklicken Sie auf das Loaded-Ereignis.
Fügen Sie den folgenden Code ein, um das Loaded Ereignis zu behandeln.
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); }
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
Fügen Sie oben in der Datei die folgende
Imports
- oderusing
-Anweisung hinzu.using System.Windows.Forms;
Imports System.Windows.Forms
Drücken Sie F5-, um die Anwendung zu erstellen und auszuführen.
Siehe auch
- ElementHost
- WindowsFormsHost
- Entwerfen von XAML-Code in Visual Studio
- Anleitung: Hosten eines Windows Forms-Steuerelements in WPF unter Verwendung von XAML
- Exemplarische Vorgehensweise: Hosten eines zusammengesetzten Windows Forms-Steuerelements in WPF
- Exemplarische Vorgehensweise: Hosten eines zusammengesetzten WPF-Steuerelements in Windows Forms
- Windows Forms-Steuerelemente und entsprechende WPF-Steuerelemente
- Hosten eines Windows Forms-Steuerelements im WPF-Beispiel
.NET Desktop feedback