Интерфейс 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