Share via


DocContextChangeEventObject-Schnittstelle

Ein Ereignisobjekt, das während eines Kontextänderungsereignisses in Microsoft Office InfoPath 2007 verwendet wird.

Namespace: Microsoft.Office.Interop.InfoPath
Assembly: Microsoft.Office.Interop.InfoPath (in microsoft.office.interop.infopath.dll)

Syntax

<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

Hinweise

Dies ist ein Wrappertyp für eine Coklasse, die für den verwalteten Code der COM-Interoperabilität erforderlich ist. Verwenden Sie diesen Typ zum Zugreifen auf die Member der COM-Schnittstelle, die von der Coklasse implementiert wurden. Informationen zur COM-Schnittstelle, einschließlich eines Links zu den Memberbeschreibungen, finden Sie unter DocContextChangeEvent.

Das DocContextChangeEvent-Objekt stellt mehrere Eigenschaften bereit, die in einer Kontextänderung verwendet werden können, um mit den Daten in dem einem Formular zugrunde liegenden XML-Dokument programmgesteuert zu interagieren, dem Benutzer Feedback bereitzustellen oder Aktionen für ihn auszuführen.

Das DocContextChangeEvent-Objekt wird als Parameter an das OnContextChange-Ereignis weitergegeben.

Mithilfe des DocContextChangeEvent-Objekts werden Informationen zum XML-DOM-Knoten (Document Object Model), der den aktuellen Kontext des dem Formular zugrunde liegenden XML-Dokuments darstellt, abgerufen. Darüber hinaus werden Informationen zum Kontextänderungstyp bereitgestellt, und es wird angegeben, ob die Änderung als Reaktion auf einen vom Benutzer ausgeführten Vorgang zum Rückgängigmachen oder Wiederholen erfolgte.

Die Type-Eigenschaft gibt bei Kontextänderungen in Microsoft InfoPath 2003 Service Pack 1 nur den Wert "ContextNode" zurück. Falls durch Code in einem Ereignishandler jedoch Aktionen ausgeführt werden, die von aktuellen Funktionen abhängen, sollte dieser Code trotzdem so ausgelegt sein, dass der Wert der Typeigenschaft überprüft wird, da zukünftige InfoPath-Versionen andere Werte für unterschiedliche Kontextänderungen verwenden können.

Wenn die IsUndoRedo-Eigenschaft true ist, wurde die Kontextänderung durch den Vorgang zum Rückgängigmachen oder Wiederholen anstelle einer expliziten Benutzerkontextänderung ausgelöst. Vorgänge im OnContextChange-Ereignis, die den XML-DOM-Knoten ändern, sollten als Reaktion auf Aktionen zum Rückgängigmachen oder Wiederholen vermieden werden, da sie sich eventuell negativ auf die Absicht eines Benutzers, Daten in einen früheren Zustand zurückzuversetzen, auswirken.

Beispiel

Im folgenden Beispiel wird der Knoten lastChanged als Reaktion auf Kontextänderungen aktualisiert:

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;
 }
}

Siehe auch

Referenz

DocContextChangeEventObject-Member
Microsoft.Office.Interop.InfoPath-Namespace