_XDocumentEventSink2_Event.OnContextChange 事件

在上下文节点更改之后发生。

命名空间:  Microsoft.Office.Interop.InfoPath.SemiTrust
程序集:  Microsoft.Office.Interop.InfoPath.SemiTrust(位于 Microsoft.Office.Interop.InfoPath.SemiTrust.dll 中)

语法

声明
Event OnContextChange As _XDocumentEventSink2_OnContextChangeEventHandler
用法
Dim instance As _XDocumentEventSink2_Event
Dim handler As _XDocumentEventSink2_OnContextChangeEventHandler

AddHandler instance.OnContextChange, handler
event _XDocumentEventSink2_OnContextChangeEventHandler OnContextChange

备注

上下文节点是映射到与包含当前 XML 选择的容器(或项目)相对应的视图的 XML DOM 节点。例如,如果视图中的当前选择是文本框,则上下文节点是文本框绑定到的节点。如果当前选择为重复节,则上下文节点是该项目的节点。如果选择了两个重复节,则上下文节点是两个映射到此视图的项目的祖先 XML DOM。

OnContextChange 事件是异步的。它不会在每次更改上下文节点时激发,而是在应用程序停止处理其他事件后激发。

在加载文档或更改视图时,OnContextChange 事件将在 OnLoadOnSwitchView 事件之后发生。

DocContextChangeEventObject 对象的 IsUndoRedo 属性为 true 时,上下文更改由撤消或恢复操作引起,而非显式用户上下文更改所导致。作为对撤消或恢复操作的响应,应该避免在 OnContextChange 事件处理程序中执行修改 XML DOM 的操作,因为这些操作可能会影响用户将数据恢复到以前的状态。

对于格式文本框控件,不会因 XHTML 内容中的上下文更改(即控件中格式文本的选定内容更改)而引发 OnContextChange 事件。GetContextNodes 方法可用于确定格式文本框控件中的选定内容。

示例

public void OnContextChange(DocContextChangeEvent e)
{
if (e.Type == "ContextNode")
{
IXMLNode expNode=XDocument.DOM.selectSingleNode("//my:field4");
// set field4 with the name of the current context.
expNode.text=e.Context.nodeName;
}
}

另请参阅

引用

_XDocumentEventSink2_Event 接口

_XDocumentEventSink2_Event 成员

Microsoft.Office.Interop.InfoPath.SemiTrust 命名空间