XMLNode 控件

更新:2007 年 11 月

适用对象

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

项目类型

  • 文档级项目

Microsoft Office 版本

  • Word 2007

  • Word 2003

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

XMLNode 控件是一个映射的 XML 节点对象,该对象用于公开事件且可绑定到数据。仅当非重复架构元素映射到 Microsoft Office Word 文档中时,才创建 XMLNode 控件。Visual Studio Tools for Office 创建了 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 文档

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

概念

宿主项和宿主控件概述

XMLNodes 控件

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

其他资源

Word 宿主控件

Excel 宿主控件