Поделиться через


Интерфейс DocContextChangeEventObject

Объект события, используемый в событии изменения контекста Microsoft Office InfoPath 2007.

Пространство имен: Microsoft.Office.Interop.InfoPath
Сборка: Microsoft.Office.Interop.InfoPath (в microsoft.office.interop.infopath.dll)

Синтаксис

'Декларация
<CoClassAttribute(GetType(DocContextChangeEventObjectClass))> _
<GuidAttribute("096CD6D2-0786-11D1-95FA-0080C78EE3BB")> _
Public Interface DocContextChangeEventObject
    Inherits DocContextChangeEvent
'Применение
Dim instance As DocContextChangeEventObject
[CoClassAttribute(typeof(DocContextChangeEventObjectClass))] 
[GuidAttribute("096CD6D2-0786-11D1-95FA-0080C78EE3BB")] 
public interface DocContextChangeEventObject : DocContextChangeEvent

Заметки

Этот тип является программой-оболочкой для компонентного класса, которого требует управляемый программный код для COM-взаимодействия. Используйте этот тип для доступа к членам интерфейса COM, созданного этим компонентным классом. Дополнительные сведения об интерфейсе COM, включая ссылку на описания его членов, см. в статье DocContextChangeEvent.

Объект DocContextChangeEvent предоставляет различные свойства, которые могут использоваться в событии изменения контекста для программного взаимодействия с данными в основном XML-документе формы, для контекстного оповещения пользователя или для выполнения операций, необходимых пользователю.

Объект DocContextChangeEvent передается событию OnContextChange в качестве параметра.

Объект DocContextChangeEvent используется для получения информации об XML-узле объектной модели документа, который является текущим контекстом базового XML-документа формы. Кроме того, объект предоставляет сведения о типе изменения контекста и о том, стало ли изменение причиной запрошенной пользователем операции отмены или возврата.

Свойство Type для изменений контекста в Microsoft InfoPath 2003 с пакетом обновления 1 возвращает только значение "ContextNode". Тем не менее, если код в обработчике события выполняет определенные действия, зависящие от текущего набора функций, то в обработчике необходимо проверять значение свойства Type, поскольку будущие версии InfoPath могут использовать различные значения для различных изменений контекста.

Если свойство IsUndoRedo имеет значение true, это означает, что изменение контекста произошло в результате отмены или возврата изменений и не было вызвано пользователем в явном виде. Операций, выполняемых в событии OnContextChange и приводящих к изменению модели XML DOM, при обработке действий отмены или возврата следует избегать, поскольку они могут воспрепятствовать намерению пользователя возвратить данные в предыдущее состояние.

Пример

В следующем примере узел lastChanged обновляется при изменении контекста:

public void OnContextChange(DocContextChangeEvent e)
{
 if ( e.Type == "ContextNode" && !e.IsUndoRedo )
 {
  IXMLDOMNode contextNode = e.Context;
  IXMLDOMNode lastChangedNode = thisXDocument.DOM.selectSingleNode("/my:myRoot/my:lastChanged");
  lastChangedNode.text = contextNode.nodeName;
 }
}

См. также

Ссылка

Члены DocContextChangeEventObject
Пространство имен Microsoft.Office.Interop.InfoPath