Share via


Exemplarische Vorgehensweise: Hosten eines Windows Forms-Benutzersteuerelements mit dem WPF-Designer

In dieser exemplarischen Vorgehensweise wird erläutert, wie der WPF Designer für Visual Studio zum Hosten eines zusammengesetzten Windows Forms-Steuerelements in einer WPF-Anwendung verwendet wird. Weitere Informationen zu Windows Forms und zur 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.

Tipp

Je nach den aktiven Einstellungen oder der Version unterscheiden sich die Dialogfelder und Menübefehle auf Ihrem Bildschirm möglicherweise von den in der Hilfe beschriebenen. Klicken Sie im Menü Extras auf Einstellungen importieren und exportieren, um die Einstellungen zu ändern. Weitere Informationen finden Sie unter Arbeiten mit Einstellungen.

Vorbereitungsmaßnahmen

Zum Durchführen dieser exemplarischen Vorgehensweise benötigen Sie die folgenden Komponenten:

  • Visual Studio 2010.

Erstellen des Projekts

Der erste Schritt besteht darin, das Projekt für die Hostanwendung zu erstellen.

So erstellen Sie das Projekt

  1. Erstellen Sie ein WPF-Anwendungsprojekt mit dem Namen "DemoApplication". Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines neuen WPF-Anwendungsprojekts.

    Die Datei "MainWindow.xaml" wird im WPF-Designer geöffnet. 

  2. Fügen Sie im Projektmappen-Explorer einen Verweis auf die WindowsFormsIntegration-Assembly mit dem Namen WindowsFormsIntegration.dll hinzu.

  3. 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

  1. 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

  2. Doppelklicken Sie in der Toolbox auf das TableLayoutPanel-Steuerelement. Auf der Entwurfsoberfläche wird ein TableLayoutPanel-Steuerelement angezeigt.

  3. Wählen Sie im Smarttag-Menü TableLayoutPanel-Aufgaben den Eintrag Letzte Zeile entfernen aus.

  4. Legen Sie im Fenster Eigenschaften den Wert der Dock-Eigenschaft auf Fill fest.

  5. Fügen Sie aus der Toolbox ein Label-Steuerelement zur ersten Zelle des TableLayoutPanel-Steuerelements hinzu.

  6. 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

  7. Fügen Sie aus der Toolbox ein MaskedTextBox-Steuerelement zur zweiten Zelle des TableLayoutPanel-Steuerelements hinzu.

  8. Klicken Sie auf das Smarttagsymbol (Smarttag-Glyphe) auf dem MaskedTextBox-Steuerelement, und wählen Sie im Menü MaskedTextBox-Aufgaben die Option Maske festlegen aus.

    Das Dialogfeld Eingabeformat wird angezeigt.

  9. Wählen Sie in der Spalte Maskenbeschreibung die Option Datum (Kurzformat) (oder eine andere vordefinierte Maskenbeschreibung) aus, und klicken Sie auf die Schaltfläche OK.

  10. Wählen Sie am oberen Rand des Fensters Eigenschaften in der Dropdownliste das TableLayoutPanel-Steuerelement aus.

  11. Legen Sie den Wert der AutoSize-Eigenschaft auf true fest.

  12. Wählen Sie am oberen Rand des Fensters Eigenschaften die Option UserControl1 aus.

  13. 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.

  14. 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

  1. 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.

  2. Öffnen Sie im WPF-Designer die Datei MainWindow.xaml.

  3. 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"
    
  4. 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.

  5. Führen Sie die Projektmappe aus, um das Benutzersteuerelement zu testen.

Nächste Schritte

Sie können WPF-Steuerelemente auch in Windows Forms hosten. Weitere Informationen finden Sie unter Verwenden von WPF-Steuerelementen.

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Hosten eines Windows Forms-Steuerelements in WPF

Referenz

WindowsFormsHost

ElementHost

Weitere Ressourcen

Arbeiten mit Steuerelementen im WPF-Designer

Migration und Interoperabilität