Exemplarische Vorgehensweise: Hosten eines Windows Forms-Benutzersteuerelements mit dem WPF-Designer
Aktualisiert: November 2007
In dieser exemplarischen Vorgehensweise wird erläutert, wie Windows Presentation Foundation (WPF)-Designer für Visual Studio zum Hosten eines zusammengesetzten Windows Forms-Steuerelements in einer WPF-Anwendung verwendet wird. Weitere Informationen über Windows Forms und WPF-Interoperabilität finden Sie unter Migration und Interoperabilität.
In dieser exemplarischen Vorgehensweise werden folgende Aufgaben erläutert:
Erstellen des Projekts.
Erstellen des zusammengesetzten Windows Forms-Steuerelements.
Hosten des Windows Forms-Steuerelements in einer WPF-Anwendung.
![]() |
---|
Je nach den aktiven Einstellungen oder der verwendeten Version können sich die angezeigten Dialogfelder und Menübefehle von den in der Hilfe beschriebenen unterscheiden. Klicken Sie zum Ändern der Einstellungen im Menü Extras auf Einstellungen importieren und exportieren. Weitere Informationen finden Sie unter Visual Studio-Einstellungen. |
Vorbereitungsmaßnahmen
Zum Durchführen dieser exemplarischen Vorgehensweise benötigen Sie die folgenden Komponenten:
- Visual Studio 2008.
Erstellen des Projekts
Der erste Schritt besteht darin, das Projekt für die Hostanwendung zu erstellen.
So erstellen Sie das Projekt
Erstellen Sie ein WPF-Anwendungsprojekt mit dem Namen "DemoApplication". Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines neuen WPF-Anwendungsprojekts.
In WPF-Designer wird die Datei Window1.xaml geöffnet.
Fügen Sie im Projektmappen-Explorer einen Verweis auf die WindowsFormsIntegration-Assembly mit dem Namen WindowsFormsIntegration.dll hinzu.
Fügen Sie im Projektmappen-Explorer einen Verweis auf die Windows Forms-Assembly mit Namen System.Windows.Forms.dll hinzu.
Erstellen des zusammengesetzten Windows Forms-Steuerelements
Dieser Vorgang veranschaulicht, wie ein zusammengesetztes Steuerelement, das seine Größe dem Inhalt anpasst, erstellt wird. Das TableLayoutPanel-Steuerelement und die AutoSize-Eigenschaft stellen die dynamische Layoutfähigkeit des Steuerelements bereit. Weitere Informationen finden Sie unter TableLayoutPanel-Steuerelement (Windows Forms).
So erstellen Sie das zusammengesetzte Windows Forms-Steuerelement
Fügen Sie der Projektmappe ein neues Windows Forms-Steuerelementbibliothek-Projekt mit dem Namen "DemoControlLibrary" hinzu. Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen und Entfernen von Projektmappenelementen.
UserControl1 wird im Windows Forms-Designer geöffnet
Doppelklicken Sie in der Toolbox auf das TableLayoutPanel-Steuerelement. Auf der Entwurfsoberfläche wird ein TableLayoutPanel-Steuerelement angezeigt.
Wählen Sie im Smarttag-Menü TableLayoutPanel-Aufgaben den Eintrag Letzte Zeile entfernen aus.
Legen Sie im Fenster Eigenschaften den Wert der Dock-Eigenschaft auf Fill fest.
Fügen Sie aus der Toolbox ein Label-Steuerelement zur ersten Zelle des TableLayoutPanel-Steuerelements hinzu.
Legen Sie im Fenster Eigenschaften folgende Eigenschaften für das Label-Steuerelement fest.
Eigenschaft
Wert
AutoSize
True
Dock
Fill
Margin
0,0,0,0
Text
Geben Sie das Datum ein:
TextAlign
MiddleCenter
Fügen Sie aus der Toolbox ein MaskedTextBox-Steuerelement zur zweiten Zelle des TableLayoutPanel-Steuerelements hinzu.
Klicken Sie auf das Smarttagsymbol (
) auf dem MaskedTextBox-Steuerelement, und wählen Sie im Menü MaskedTextBox-Aufgaben die Option Maske festlegen aus.
Das Dialogfeld Eingabeformat wird angezeigt.
Wählen Sie in der Spalte Maskenbeschreibung die Option Datum (Kurzformat) aus, und klicken Sie auf die Schaltfläche OK.
Wählen Sie am oberen Rand des Fensters Eigenschaften in der Dropdownliste das TableLayoutPanel-Steuerelement aus.
Legen Sie den Wert der AutoSize-Eigenschaft auf true fest.
Wählen Sie am oberen Rand des Fensters Eigenschaften die Option UserControl1 aus.
Legen Sie den Wert der AutoSize-Eigenschaft auf true und den Wert der Size-Eigenschaft auf 0,0 fest.
UserControl1 passt die Größe dem Inhalt an.
Wählen Sie im Menü Erstellen die Option Projektmappe erstellen, um die Projektmappe zu erstellen.
Hosten des Windows Forms-Steuerelements in WPF
Das WindowsFormsHost-Element wird verwendet, um UserControl1 in einer WPF-Anwendung zu hosten.
So hosten Sie das Windows Forms-Steuerelement in WPF
Fügen Sie dem DemoApplication-Projekt vom Projektmappen-Explorer einen Verweis zum DemoControlLibrary-Projekt hinzu. Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen oder Entfernen von Verweisen in Visual Studio (Visual Basic).
Öffnen Sie im WPF-Designer die Datei Window1.xaml.
Importieren Sie in der XAML-Ansicht den DemoControlLibrary-Namespace, indem Sie die folgende Namespace-Zuordnung in das öffnende Window-Tag einfügen. Weitere Informationen finden Sie unter Gewusst wie: Importieren eines Namespace in XAML.
xmlns:dc="clr-namespace:DemoControlLibrary;assembly=DemoControlLibrary"
Fügen Sie nach dem öffnenden Grid-Tag den folgenden Code ein.
<WindowsFormsHost HorizontalAlignment="Left" VerticalAlignment="Top"> <dc:UserControl1/> </WindowsFormsHost>
Ein Bereich, der das gehostete Windows Forms-Steuerelement darstellt, wird im Designer angezeigt.
Nächste Schritte
Sie können WPF-Steuerelemente auch in Windows Forms hosten. Weitere Informationen finden Sie unter Verwenden von WPF-Steuerelementen (Windows Presentation Foundation).