共用方式為


逐步解說:使用 WPF 設計工具裝載 Windows Form 使用者控制項

本逐步解說示範如何使用 WPF Designer for Visual Studio,在 WPF 應用程式中裝載 Windows Form 複合控制項。如需 Windows Form 和 WPF 互通性的詳細資訊,請參閱移轉和互通性。 

這個逐步解說所說明的工作包括:

  • 建立專案。

  • 建立 Windows Form 複合控制項。

  • 在 WPF 應用程式中,裝載 Windows Form 控制項。

注意事項注意事項

根據您目前使用的設定或版本,您所看到的對話方塊與功能表指令可能會與 [說明] 中描述的不同。 若要變更設定,請從 [工具] 功能表中選取 [匯入和匯出設定]。 如需詳細資訊,請參閱 使用設定

必要條件

您需要下列元件才能完成此逐步解說:

  • Visual Studio 2010。

建立專案

第一步是建立主應用程式的專案。

若要建立專案

  1. 建立名為 "DemoApplication" 的 WPF 應用程式專案。 如需詳細資訊,請參閱 HOW TO:建立新的 WPF 應用程式專案

    MainWindow.xaml 隨即在 WPF 設計工具中開啟。 

  2. 在 [方案總管] 中,加入名為 WindowsFormsIntegration.dll 的 WindowsFormsIntegration 組件之參考。

  3. 在 [方案總管] 中,加入名為 System.Windows.Forms.dll 之 Windows Form 組件的參考。

建立 Windows Form 複合控制項

這個程序示範如何建立會按照其內容調整大小的複合控制項。 TableLayoutPanel 控制項及 AutoSize 屬性會提供控制項的動態配置功能。 如需詳細資訊,請參閱 TableLayoutPanel 控制項 (Windows Form)

若要建立 Windows Form 複合控制項

  1. 將名為 "DemoControlLibrary" 的新 Windows Form 控制項程式庫專案加入至方案。 如需詳細資訊,請參閱 HOW TO:新增及移除方案項目

    UserControl1 隨即在 Windows Form 設計工具中開啟。

  2. 從 [工具箱] 中,按兩下 TableLayoutPanel 控制項。 TableLayoutPanel 控制項會顯示在設計介面上。

  3. 選取 [TableLayoutPanel 工作] 智慧標籤功能表中的 [移除最後一個資料列]。

  4. 在 [屬性] 視窗中,將 Dock 屬性的值設定為 Fill

  5. 從 [工具箱] 中,將 Label 控制項加入至 TableLayoutPanel 控制項的第一個儲存格。

  6. 在 [屬性] 視窗中,為 Label 控制項設定下列屬性。

    屬性

    AutoSize

    True

    Dock

    Fill

    Margin

    0,0,0,0

    Text

    輸入日期:

    TextAlign

    MiddleCenter

  7. 從 [工具箱] 中,將 MaskedTextBox 控制項加入至 TableLayoutPanel 控制項的第二個儲存格中。

  8. 按一下 MaskedTextBox 控制項上的智慧標籤圖像 (智慧標籤圖像),然後選取 [MaskedTextBox 工作] 功能表中的 [設定遮罩]。

    [輸入遮罩] 對話方塊隨即出現。

  9. 從 [遮罩描述] 資料行中選取 [Short Date] (或其他預先定義的遮罩描述),然後按一下 [確定] 按鈕。

  10. 在 [屬性] 視窗的頂端,選取下拉式清單中的 TableLayoutPanel 控制項。

  11. AutoSize 屬性值設定為 true。

  12. 在 [屬性] 視窗的頂端,選取 [UserControl1]。

  13. AutoSize 屬性的值設定為 true,然後將 Size 屬性的值設定為 0,0。

    UserControl1 會調整大小以配合其內容。

  14. 選取 [建置] 功能表上的 [建置方案],以建置方案。

將 Windows Form 控制項裝載在 WPF 中

您要使用 WindowsFormsHost 項目,在 WPF 應用程式中裝載 UserControl1

若要在 WPF 中裝載 Windows Form 控制項

  1. 在 [方案總管] 中的 DemoApplication 專案中,加入 DemoControlLibrary 專案的參考。 如需詳細資訊,請參閱 HOW TO:在 Visual Studio 中新增或移除參考

  2. 在 WPF 設計工具中開啟 MainWindow.xaml。

  3. 在 [XAML] 檢視中,將下列命名空間對應插入至開頭 Window 標記中,以匯入 DemoControlLibrary 命名空間。 如需詳細資訊,請參閱 HOW TO:將命名空間匯入 XAML

    xmlns:dc="clr-namespace:DemoControlLibrary;assembly=DemoControlLibrary"
    
  4. Grid 開頭標記之後,插入下列程式碼。

    <WindowsFormsHost HorizontalAlignment="Left" VerticalAlignment="Top">
        <dc:UserControl1/>
    </WindowsFormsHost>
    

    代表已裝載之 Windows Form 控制項的區域隨即顯示在設計工具中。

  5. 執行方案以測試使用者控制項。

後續步驟

您也可以將 WPF 控制項裝載在 Windows Form 中。 如需詳細資訊,請參閱使用 WPF 控制項

請參閱

工作

逐步解說:在 WPF 中裝載 Windows Form 控制項

參考

WindowsFormsHost

ElementHost

其他資源

使用 WPF 設計工具中的控制項

移轉和互通性