逐步解說:在設計階段建立 Windows Form 的新 WPF 內容
本文示範如何建立 Windows Presentation Foundation (WPF) 控制項,以便在 Windows Form 應用程式中使用。
必要條件
若要完成這個逐步解說,您必須具有 Visual Studio。
建立專案
開啟 Visual Studio 並使用 Visual Basic 或 Visual C# 建立名為 HostingWpf
的新 Windows Forms 應用程式 (.NET Framework) 專案。
注意
裝載 WPF 內容時,只支援 C# 和 Visual Basic 專案。
建立新的 WPF 控制項
建立新的 WPF 控制項並將其加入專案中,就像是將其他任何項目加入專案中一樣容易。 Windows Form 設計工具會搭配一種特定的控制項使用,這種控制項稱為「複合控制項」(Composite Control) 或「使用者控制項」(User Control)。 如需 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 檔案會在 WPF Designer for Visual Studio 中開啟。
在 [設計] 檢視中,確定已選取
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 內容的樣式。