在 Office 方案中使用 WPF 控制項
雖然 Visual Studio 中使用 Office 開發工具所建立的解決方案設計成直接使用 Windows Form 控制項,您也可以在解決方案中使用 WPF 控制項。 Windows Presentation Foundation (WPF) 是 Windows Form 設計使用者介面的替代方式。 WPF 使用稱為 Extensible Application Markup Language (XAML) 的標記語言,提供納入 UI、媒體和文件新技術。 如需詳細資訊,請參閱 WPF 概觀。
適用對象:本主題資訊適用於文件層級的專案和 VSTO 增益集專案。 請參閱依 Office 應用程式和專案類型提供的功能。
任何可在 Office 方案中裝載 Windows Form 控制項的 UI 元素,也可以裝載 WPF 控制項。 這些元件可包含下列項目:
文件層級自訂的文件和工作表。
文件層級自訂的執行窗格。
VSTO 增益集的自訂工作窗格。
Outlook VSTO 增益集的表單區域。
在設計階段將 WPF 控制項新增至 Office 專案
您無法在 Office 方案的 UI 元素中直接加入 WPF 控制項。 相反地,將使用者控制項 (WPF) 項目新增至專案中,並將其用作 WPF 控制項的設計介面。 然後,在專案的 UI 元素中加入 WPF 使用者控制項。
在執行窗格、自訂工作窗格或表單區域加入 WPF 控制項
開啟要加入自訂工作窗格、執行窗格或表單區域的專案。
將 [使用者控制項 (WPF)] 項目新增至您的專案。
從工具箱中,將 WPF 控制項新增至 WPF 使用者控制項設計介面。
預設情況下,當 WPF 使用者控制項設計工具開啟時,工具箱只會包含 WPF 控制項。
組建專案。
在專案中加入執行窗格、表單區域或自訂工作窗格:
對於表單區域,將 Outlook 表單區域項目新增至專案。 如需詳細資訊,請參閱如何:在 Outlook 增益集專案中新增表單區域。
對於動作窗格,將 [動作窗格控制項] 或 [使用者控制項] 項目新增至專案。 如需詳細資訊,請參閱如何:將執行窗格新增至 Word 文件或 Excel 活頁簿.
對於自訂工作窗格,將 [使用者控制項] 項目新增至專案。 如需詳細資訊,請參閱如何:在應用程式中新增自訂工作窗格。
從工具箱的 [ProjectName WPF 使用者控制項] 索引標籤中,將 WPF 使用者控制項拖曳到動作窗格、表單區域或自訂工作窗格的設計工具中。
Visual Studio 會自動建立在 UI 元素上裝載 WPF 使用者控制項的 ElementHost 物件。
重建專案。
在文件層級專案的文件或工作表中加入 WPF 控制項
開啟 Word 或 Excel 的文件層級專案。
將 [使用者控制項 (WPF)] 項目新增至您的專案。
從工具箱中,將 WPF 控制項新增至 WPF 使用者控制項設計介面。
組建專案。
將使用者控制項 項目 (即 Windows Forms 使用者控制項) 新增至專案。
開啟 Windows Form 使用者控制項的設計工具。
從工具箱的 [ProjectName WPF 使用者控制項 索引標籤中,將 WPF 使用者控制項拖曳到設計工具中。
Visual Studio 會自動建立在 Windows Form 使用者控制項中裝載 WPF 使用者控制項的 ElementHost 物件。
撰寫程式碼,以程式設計方式將 Windows Form 使用者控制項加入文件或活頁簿。 如需詳細資訊,請參閱在執行階段將控制項新增至 Office 文件。
注意
您無法將 Windows Form 使用者控制項拖曳至設計工具的文件或工作表。
重建專案。
使用 ElementHost 類別託管 WPF 控制項
Visual Studio 提供的功能,會協助您在 Office 方案中使用 Windows Form 控制項,但對 WPF 控制項則不提供類似的功能。 例如,您可以在設計階段透過從工具箱拖曳控制項,將 Windows Forms 控制項新增至文件和工作表中,或在執行時使用協助程式方法將 Windows Forms 控制項新增至文件和工作表中。 不過,WPF 控制項無法使用這些工具。
WPF 控制項將 ElementHost 類別用做 Windows Form 控制項或表單和 WPF 控制項之間的整合層。 當您在設計階段將 WPF 控制項加入解決方案時,Visual Studio 會為您自動產生 ElementHost 物件。
WPF 資源
如需在 Windows Form 控制項和表單上裝載 WPF 控制項的架構和設計問題的詳細資訊,請參閱下列主題:
如需在設計階段於 Visual Studio 的 Windows Form 控制項和表單中加入 WPF 控制項的詳細資訊,請參閱下列主題: