XMLNodes 控件

更新:2007 年 11 月

适用对象

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

项目类型

  • 文档级项目

Microsoft Office 版本

  • Word 2007

  • Word 2003

有关更多信息,请参见按应用程序和项目类型提供的功能

XMLNodes 控件是用于公开事件的已映射 XML 节点对象的集合。只有在将重复架构元素映射到 Microsoft Office Word 文档上时,才会创建 XMLNodes 控件。如果重复元素包含子元素,每个子元素也将作为 XMLNodes 控件被创建。

在 Visual Studio Tools for Office 创建了 XML 节点的集合后,便可以直接针对该控件编程,而不必遍历 Word 对象模型。只能通过从文档中移除元素映射来删除 XMLNodes 控件。

说明:

如果通过 Item 属性访问 XMLNodes 控件的子元素,它将返回 Microsoft.Office.Interop.Word.XMLNode 对象,而不是 Microsoft.Office.Tools.Word.XMLNode 控件。有关更多信息,请参见 宿主项和宿主控件的编程限制

将数据绑定到控件

XMLNodes 控件不支持数据绑定。这是因为 XMLNodes 控件不具备复杂数据绑定功能,而简单数据绑定又不能表示重复数据。

格式设置

可对文档中的文本应用的所有格式设置都可应用于 XMLNodes 控件。

事件

对于 XMLNodes 控件可用的事件有:

比较事件

您可以捕获用户在特定 XMLNodes 控件的上下文中移动其光标时的事件。例如,您可能有一个名为 Customer 的 XMLNodes 控件,该控件包含一个名为 Company 的 XMLNodes 子控件,而 Company 有两个名称分别为 CompanyName 和 CompanyRegion 的 XMLNodes 子控件,如下所示:

<Customer>
    <Company>
        <CompanyName>
        <CompanyRegion>

如果每次将光标移入 Company 节点时都要在操作窗格中显示控件,光标在 CompanyName 中还是在 CompanyRegion 中并不重要,因为它们同在 Company 的上下文中。在这种情况下,可以在 Company 的 ContextEnter 事件中编写代码。

在大多数情况下,当光标进入 XMLNodes 控件时,会同时引发 SelectContextEnter 事件。下表显示了这些事件之间的差异。

Select 事件

ContextEnter 事件

当光标放置在 XMLNodes 集合的一个节点中时发生此事件。

当光标从节点上下文以外的区域移入 XMLNodes 集合的节点或子代节点之一时发生。换言之,只有在上下文发生更改时才会引发此事件,而且多层嵌套的 XMLNodes 控件也可能引发此事件。

例如,从 Customer 之外将光标移到 CompanyName 中时,会引发 Customer、Company 和 CompanyName 的 ContextEnter 事件。如果再将光标从 CompanyName 移动至 CompanyRegion,只会引发 CompanyRegion 的 ContextEnter 事件,因为上下文对于 Company 和 Customer 都相同。文档中可以包含多个 Company 节点。如果将光标从一个 Company 的 CompanyName 节点移动至另一个 Company 的 CompanyName 节点,由于上下文相同,因此只会引发 Select 事件。

ContextLeave 事件和 Deselect 事件之间存在着同样的差异。

请参见

任务

如何:向 Word 文档添加 XMLNodes 控件

如何:将架构映射到 Visual Studio 内部的 Word 文档

概念

宿主项和宿主控件概述

XMLNode 控件

宿主项和宿主控件的编程限制

其他资源

Word 宿主控件

Excel 宿主控件