在 Office 解决方案中使用 WPF 控件

更新:2007 年 11 月

Windows Presentation Foundation (WPF) 是用于设计用户界面的 Windows 窗体的替代方法。WPF 利用一种称作可扩展应用程序标记语言 (XAML) 的标记语言,提供了用于整合 UI、媒体和文档的新技术。有关更多信息,请参见 Windows Presentation Foundation 简介

尽管 Visual Studio Tools for Office 解决方案设计为与 Windows 窗体控件协同工作,但您也可以在解决方案中使用 WPF 控件。在 Visual Studio Tools for Office 解决方案中可承载 Windows 窗体控件的任何 UI 元素也可以承载 WPF 控件。这些元素包括:

  • 文档级自定义项中的文档和工作表。

  • 文档级自定义项中的操作窗格。

  • 应用程序级外接程序中的自定义任务窗格。

  • Outlook 应用程序级外接程序中的窗体区域。

在设计时将 WPF 控件添加到 Visual Studio Tools for Office 项目

不能将 WPF 控件直接添加到 Visual Studio Tools for Office 解决方案中的 UI 元素。而是应采用此方法:向项目中添加一个“用户控件(WPF)”项,并使用它作为 WPF 控件的设计图面。然后,将 WPF 用户控件添加到项目中的 UI 元素。

将 WPF 控件添加到操作窗格、自定义任务窗格或窗体区域

  1. 打开一个要向其中添加自定义任务窗格、操作窗格或窗体区域的项目。

  2. 向项目中添加“用户控件(WPF)”项。

  3. 将 WPF 控件从“工具箱”添加到 WPF 用户控件设计图面。

    默认情况下,当 WPF 用户控件设计器打开时,“工具箱”只包含 WPF 控件。

  4. 生成项目。

  5. 将操作窗格、窗体区域或自定义任务窗格添加到项目:

  6. 从“工具箱”的“项目名称 WPF 用户控件”选项卡中,将 WPF 用户控件拖到操作窗格、窗体区域或自定义任务窗格的设计器上。

    Visual Studio 会自动创建一个 ElementHost 对象,该对象在 UI 元素上承载 WPF 用户控件。

  7. 重新生成项目。

将 WPF 控件添加到文档级项目中的文档或工作表

  1. 打开 Word 或 Excel 的文档级项目。

  2. 向项目中添加“用户控件(WPF)”项。

  3. 将 WPF 控件从“工具箱”添加到 WPF 用户控件设计图面。

  4. 生成项目。

  5. 将“用户控件”项(即 Windows 窗体用户控件)添加到项目。

  6. 打开 Windows 窗体用户控件的设计器。

  7. 从“工具箱”的“项目名称 WPF 用户控件”选项卡中,将 WPF 用户控件拖到设计器上。

    Visual Studio 会自动创建一个 ElementHost 对象,该对象在 Windows 窗体用户控件中承载 WPF 用户控件。

  8. 编写可通过编程方式向文档或工作簿中添加 Windows 窗体用户控件的代码。有关更多信息,请参见 在运行时向 Office 文档添加控件

    Bb772076.alert_note(zh-cn,VS.90).gif说明:

    无法在设计器中将 Windows 窗体用户控件拖到文档或工作表上。

  9. 重新生成项目。

使用 ElementHost 类承载 WPF 控件

Visual Studio Tools for Office 提供了可帮助您在解决方案中使用 Windows 窗体控件的功能,但它未针对 WPF 控件提供类似的功能。例如,您可以通过在设计时从“工具箱”中拖出控件,或通过在运行时使用帮助器方法来向文档和工作表中添加 Windows 窗体控件。但是,这些工具不可用于 WPF 控件。

WPF 控件使用 ElementHost 类作为 Windows 窗体控件或窗体与 WPF 控件之间的集成层。.NET Framework 从版本 3.0 开始提供 ElementHost 类。

在设计时向解决方案中添加 WPF 控件时,Visual Studio 会自动为您生成一个 ElementHost 对象。有关演示如何以编程方式使用 ElementHost 类的演练,请参见如何:使用 ElementHost 在 Windows 窗体中承载 Windows Presentation Foundation 控件

WPF 资源

有关在 Windows 窗体控件和窗体上承载 WPF 控件的体系结构和设计问题的更多信息,请参见以下主题:

有关使用 Visual Studio 在设计时向 Windows 窗体控件和窗体中添加 WPF 控件的更多信息,请参见以下主题:

请参见

任务

如何:向 Word 文档添加操作窗格

如何:向 Excel 工作簿添加操作窗格

如何:向应用程序中添加自定义任务窗格

如何:向 Outlook 外接程序项目中添加窗体区域

概念

Office UI 自定义

Office 文档上的 Windows 窗体控件概述

操作窗格概述

自定义任务窗格概述

创建 Outlook 窗体区域