逐步解說:在設計階段在 Windows Forms 上建立新的 WPF 內容
本文說明如何建立 Windows Presentation Foundation (WPF) 控制項,以用於以 Windows Forms 為基礎的應用程式。
必要條件
若要完成這個逐步解說,您必須具有 Visual Studio。
建立專案
開啟 Visual Studio,並在 Visual Basic 或 Visual C# 中建立名為 HostingWpf
的新 Windows Forms 應用程式 (.NET Framework) 專案。
注意
裝載 WPF 內容時,只支援 C# 和 Visual Basic 專案。
建立新的 WPF 控制項
建立新的 WPF 控制項並將其加入專案中,就像是將其他任何項目加入專案中一樣容易。 Windows Forms 設計工具適用于名為 複合控制項 或 使用者控制項 的特定控制項類型。 如需 WPF 使用者控制項的詳細資訊,請參閱 UserControl。
注意
WPF 的 System.Windows.Controls.UserControl 類型不同於 Windows Form 所提供的使用者控制項類型 (又稱為 System.Windows.Forms.UserControl)。
若要建立新的 WPF 控制項:
在 方案總管 中,將新的 WPF 使用者控制程式庫 (.NET Framework) 專案新增至方案。 使用控制項程式庫的預設名稱
WpfControlLibrary1
。 預設控制項名稱為UserControl1.xaml
。加入新控制項具有下列效果:
會加入 UserControl1.xaml 檔案。
已新增 UserControl1.xaml.cs 檔案(或 UserControl1.xaml.vb)。 這個檔案包含事件處理常式和其他實作的程式碼後置。
會加入 WPF 組件的參考。
檔案 UserControl1.xaml 會在 Visual Studio 的 WPF 設計工具中開啟。
在 [設計] 檢視中,確定已選取
UserControl1
。從 [ 工具箱] System.Windows.Controls.TextBox 將控制項拖曳到設計介面上。
在 [ 屬性] 視窗中,將 屬性的值 Text 設定為 [託管內容 ]。
注意
一般而言,您應該裝載更複雜的 WPF 內容。 System.Windows.Controls.TextBox 控制項在此僅供說明用途使用。
組建專案。
將 WPF 控制項新增至 Windows Form
您的新 WPF 控制項已經準備好在表單上使用。 Windows Forms 會 ElementHost 使用 控制項來裝載 WPF 內容。
若要將 WPF 控制項新增至 Windows Form:
在 Windows Form 設計工具中開啟
Form1
。在 [ 工具箱 ] 中,尋找標示為 WPFUserControlLibrary WPF 使用者控制項 的索引標籤。
將
UserControl1
的執行個體拖曳到表單上。ElementHost 控制項會在表單上自動建立,以裝載 WPF 控制項。
控制項 ElementHost 命名為
elementHost1
,而且在 [屬性 ] 視窗中,您可以看到其 Child 屬性設定為 UserControl1 。WPF 組件的參考會加入專案中。
elementHost1
控制項具有智慧標籤面板,這個面板會顯示可用的裝載選項。
在 [ ElementHost 工作 ] 智慧標籤面板中,選取 父容器 中的 [停駐]。
按 F5 以建置並執行應用程式。
下一步
Windows Form 和 WPF 是不同的技術,不過可以藉由設計密切地相互操作。 若要在應用程式中提供更豐富的外觀和行為,請嘗試下列動作:
將 Windows Form 控制項裝載到 WPF 頁面中。 如需詳細資訊,請參閱 逐步解說:在 WPF 中裝載 Windows Forms 控制項。
將 Windows Form 視覺化樣式套用至 WPF 內容。 如需詳細資訊,請參閱如何:在混合應用程式中啟用視覺化樣式。
變更 WPF 內容的樣式。 如需詳細資訊,請參閱 逐步解說:設定 WPF 內容的 樣式。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應