XMLNode 控件

重要事项   本主题中所述与 Microsoft Word 相关的信息,专为美国及其各州之外的个体和组织呈现和使用,此外,正在使用或开发用于在由 Microsoft 于 2010 年 1 月之前(Microsoft 于此期间从 Microsoft Word 中删除了与自定义 XML 相关的特殊功能的实现)授予许可的 Microsoft Word 产品上运行的程序的个体和组织,也可以参考该信息。 凡位于美国及其各州内的个体或组织,在使用或开发用于在由 Microsoft 于 2010 年 1 月 10 日之后授予许可的 Microsoft Word 产品上运行的程序时,请勿参考或使用此与 Microsoft Word 相关的信息;这些产品与此许可日期之前的产品,或在美国以外的国家/地区销售和授予使用许可的产品的行为不同。

**适用于:**本主题中的信息适用于 Word 2007 和 Word 2010 的文档级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

XMLNode 控件是一个映射的 XML 节点对象,该对象用于公开事件且可绑定到数据。 仅当非重复架构元素映射到 Microsoft Office Word 文档中时,才创建 XMLNode 控件。 在 Visual Studio 创建了 XML 节点后,您便可以直接对该节点编程,而不必遍历 Word 对象模型。

XMLNode 控件只能通过在 Word 中移除元素映射来删除。

将数据绑定到控件

XMLNode 控件支持简单数据绑定。 应该使用 DataBindings 属性将 XML 节点绑定到数据源。 如果更新绑定数据集内的数据,则 XMLNode 控件会反映所做的更改。

格式设置

可应用于 Microsoft.Office.Interop.Word.XMLNode 对象的格式设置也可应用于 Microsoft.Office.Tools.Word.XMLNode 控件。 其中包括字体、下划线样式和字符样式。

事件

以下事件可用于 XMLNode 控件:

比较事件

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

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

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

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

Select 事件

ContextEnter 事件

当光标放置在 XMLNode 内时发生此事件。

当光标从 XMLNode 节点的上下文外的区域移入该节点或它的一个子节点内时发生此事件。 换而言之,只有在上下文发生更改时才会引发此事件。

例如,从 Customer 之外将光标移到 CompanyName 中时,会引发 Customer、Company 和 CompanyName 的 ContextEnter 事件。 如果再将光标从 CompanyName 移动至 CompanyRegion,只会引发 CompanyRegion 的 ContextEnter 事件,因为您仍在 Company 和 Customer 的上下文中。

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

请参见

任务

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

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

演练:根据用户上下文更改操作窗格

概念

宿主项和宿主控件概述

使用扩展对象实现 Word 自动化

XMLNodes 控件

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