Partager via


_XDocumentEventSink2_Event.OnContextChange, événement

Se produit après une modification du nœud de contexte.

Espace de noms : Microsoft.Office.Interop.InfoPath.SemiTrust
Assembly : Microsoft.Office.Interop.InfoPath.SemiTrust (dans microsoft.office.interop.infopath.semitrust.dll)

Syntaxe

Event OnContextChange As _XDocumentEventSink2_OnContextChangeEventHandler

Dim instance As _XDocumentEventSink2_Event
Dim handler As _XDocumentEventSink2_OnContextChangeEventHandler

AddHandler instance.OnContextChange, handler
event _XDocumentEventSink2_OnContextChangeEventHandler OnContextChange

Remarques

Le nœud de contexte est le nœud XML DOM mappé sur la vue qui correspond au conteneur (ou à l'élément) associé à la sélection XML actuelle. Par exemple, si la sélection actuelle de la vue se trouve dans une zone de texte, le nœud de contexte représente le nœud auquel la zone de texte est liée. Si la sélection actuelle est une section extensible, le nœud de contexte représente le nœud lié à cet élément. Si deux sections extensibles sont sélectionnées, le nœud de contexte est le nœud XML DOM ancêtre des deux éléments mappés sur la vue.

L'événement OnContextChange est asynchrone. Il ne se déclenche pas à chaque modification du nœud de contexte. En revanche, il se déclenche une fois que l'application a cessé de traiter les autres événements.

Lors du chargement du document ou lors d'un changement de vue, l'événement OnContextChange se produit après les événements OnLoadet OnSwitchView.

Lorsque la propriété IsUndoRedo de l'objet DocContextChangeEventObject a la valeur true, cela signifie que la modification du contexte est due à une opération d'annulation ou de rétablissement d'une action effectuée par un utilisateur plutôt qu'à une modification explicite du contexte utilisateur. Il est conseillé d'éviter d'effectuer des opérations qui modifient le DOM XML dans le cadre de l'événement OnContextChange en réponse à des opérations d'annulation ou de rétablissement, car elles risquent d'interférer avec l'intention de l'utilisateur de restaurer des données à un état antérieur.

Pour les contrôles de zone de texte enrichi, l'événement OnContextChange n'est pas déclenché en réponse à des modifications de contexte dans le contenu XHTML, en d'autres termes, en réponse à des modifications de sélection du texte enrichi dans le contrôle. La méthode GetContextNodes permet de déterminer la sélection contenue dans les contrôles de zone de texte enrichi.

Exemple

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

Voir aussi

Référence

_XDocumentEventSink2_Event, interface
Membres _XDocumentEventSink2_Event
Microsoft.Office.Interop.InfoPath.SemiTrust, espace de noms