Condividi tramite


Evento InkAnalyzerBase.PopulateContextNodeBase

Aggiornamento: novembre 2007

Si verifica prima che l'analizzatore dell'input penna esegua l'analisi all'interno dell'area di un oggetto ContextNodeBase parzialmente compilato.

Spazio dei nomi:  System.Windows.Ink.AnalysisCore
Assembly:  IACore (in IACore.dll)

Sintassi

'Dichiarazione
Public Event PopulateContextNodeBase As PopulateContextNodeBaseEventHandler
'Utilizzo
Dim instance As InkAnalyzerBase
Dim handler As PopulateContextNodeBaseEventHandler

AddHandler instance.PopulateContextNodeBase, handler
public event PopulateContextNodeBaseEventHandler PopulateContextNodeBase
public:
 event PopulateContextNodeBaseEventHandler^ PopulateContextNodeBase {
    void add (PopulateContextNodeBaseEventHandler^ value);
    void remove (PopulateContextNodeBaseEventHandler^ value);
}
/** @event */
public void add_PopulateContextNodeBase (PopulateContextNodeBaseEventHandler value)
/** @event */
public void remove_PopulateContextNodeBase (PopulateContextNodeBaseEventHandler value)
JScript non supporta gli eventi.

Note

Utilizzare questo evento nel caso in cui l'applicazione gestisce una struttura di dati personalizzata, sincronizzata con quella dell'oggetto InkAnalyzerBase. Quando l'analizzatore dell'input penna genera questo evento, l'applicazione deve popolare la proprietà PopulateContextNodeBaseEventArgs.NodeToPopulate. Durante la fase di analisi, l'analizzatore dell'input penna genera questo evento per ottenere le informazioni sulle aree in cui sta eseguendo l'analisi dell'input penna.

Se il documento contiene collegamenti per la proprietà NodeToPopulate, l'applicazione deve creare e deve aggiungere questi collegamenti. Questo processo richiede che i nodi di origine e di destinazione, inclusi i relativi predecessori, siano completamente compilati prima dell'uscita del gestore di questo evento.

Per ulteriori informazioni sulla sincronizzazione dei dati applicazioni con InkAnalyzerBase, vedere Data Proxy with Ink Analysis.

Durante l'analisi in background, l'analizzatore dell'input penna genera questo evento dopo aver generato l'evento ReadyToReconcileBase.

Esempi

Nell'esempio seguente viene definito un metodo, AttachDataProxyEventHandlers, che associa i gestori di eventi del proxy di dati a un oggetto InkAnalyzerBase, baseInkAnalyzer.

Private Sub AttachDataProxyEventHandlers()
    ' If the document model supports on demand data proxy, then add an
    ' event handler for the PopulateContextNodeBase event. This event is raised
    ' when the InkAnalyzerBase accesses a partially populated ContextNodeBase
    ' created by the document model.
    If Me.baseDocumentModel.SupportsOnDemandDataProxy Then
        AddHandler Me.baseInkAnalyzer.PopulateContextNodeBase, AddressOf Me.PopulateContextNodeBase
    End If

    ' Add the other data proxy related event handlers. These events are raised
    ' by the InkAnalyzer to communicate parsing results to the document model.
    AddHandler Me.baseInkAnalyzer.ContextNodeCreatedBase, _
        AddressOf Me.AddContextNodeBase
    AddHandler Me.baseInkAnalyzer.ContextNodeDeletingBase, _
        AddressOf Me.RemoveContextNodeBase
    AddHandler Me.baseInkAnalyzer.ContextNodeLinkAddingBase, _
        AddressOf Me.AddContextNodeLinkBase
    AddHandler Me.baseInkAnalyzer.ContextNodeLinkDeletingBase, _
        AddressOf Me.RemoveContextNodeLinkBase
    AddHandler Me.baseInkAnalyzer.ContextNodeMovingToPositionBase, _
        AddressOf Me.MoveContextNodeBaseToPosition
    AddHandler Me.baseInkAnalyzer.ContextNodePropertiesUpdatedBase, _
        AddressOf Me.UpdateContextNodeBaseProperties
    AddHandler Me.baseInkAnalyzer.ContextNodeReparentingBase, _
        AddressOf Me.ReparentContextNodeBase
    AddHandler Me.baseInkAnalyzer.InkAnalyzerStateChangingBase, _
        AddressOf Me.InkAnalyzerBase_StateChanging
    AddHandler Me.baseInkAnalyzer.StrokesReparentedBase, _
        AddressOf Me.ReparentStroke
    AddHandler Me.baseInkAnalyzer.IntermediateResultsUpdatedBase, _
        AddressOf Me.BaseResultsAvailable
    AddHandler Me.baseInkAnalyzer.ResultsUpdatedBase, _
        AddressOf Me.BaseResultsAvailable

End Sub 'AttachDataProxyEventHandlers
        private void AttachDataProxyEventHandlers()
        {
            // If the document model supports on demand data proxy, then add an
            // event handler for the PopulateContextNodeBase event. This event is raised
            // when the InkAnalyzerBase accesses a partially populated ContextNodeBase
            // created by the document model.
            if (this.baseDocumentModel.SupportsOnDemandDataProxy)
            {
                this.baseInkAnalyzer.PopulateContextNodeBase +=
                    new System.Windows.Ink.AnalysisCore.PopulateContextNodeBaseEventHandler(
                        this.PopulateContextNodeBase);
            }

            // Add the other data proxy related event handlers. These events are raised
            // by the InkAnalyzer to communicate parsing results to the document model.
            this.baseInkAnalyzer.ContextNodeCreatedBase +=
                new System.Windows.Ink.AnalysisCore.ContextNodeCreatedBaseEventHandler(
                    this.AddContextNodeBase);
            this.baseInkAnalyzer.ContextNodeDeletingBase +=
                new System.Windows.Ink.AnalysisCore.ContextNodeDeletingBaseEventHandler(
                    this.RemoveContextNodeBase);
            this.baseInkAnalyzer.ContextNodeLinkAddingBase +=
                new System.Windows.Ink.AnalysisCore.ContextNodeLinkAddingBaseEventHandler(
                    this.AddContextNodeLinkBase);
            this.baseInkAnalyzer.ContextNodeLinkDeletingBase +=
                new System.Windows.Ink.AnalysisCore.ContextNodeLinkDeletingBaseEventHandler(
                    this.RemoveContextNodeLinkBase);
            this.baseInkAnalyzer.ContextNodeMovingToPositionBase +=
                new System.Windows.Ink.AnalysisCore.ContextNodeMovingToPositionBaseEventHandler(
                    this.MoveContextNodeBaseToPosition);
            this.baseInkAnalyzer.ContextNodePropertiesUpdatedBase +=
                new System.Windows.Ink.AnalysisCore.ContextNodePropertiesUpdatedBaseEventHandler(
                    this.UpdateContextNodeBaseProperties);
            this.baseInkAnalyzer.ContextNodeReparentingBase +=
                new System.Windows.Ink.AnalysisCore.ContextNodeReparentingBaseEventHandler(
                    this.ReparentContextNodeBase);
            this.baseInkAnalyzer.InkAnalyzerStateChangingBase +=
                new System.Windows.Ink.AnalysisCore.InkAnalyzerStateChangingBaseEventHandler(
                    this.InkAnalyzerBase_StateChanging);
            this.baseInkAnalyzer.StrokesReparentedBase +=
                new System.Windows.Ink.AnalysisCore.StrokesReparentedBaseEventHandler(
                    this.ReparentStroke);
            this.baseInkAnalyzer.IntermediateResultsUpdatedBase +=
                new System.Windows.Ink.AnalysisCore.ResultsUpdatedBaseEventHandler(
                    this.BaseResultsAvailable);
            this.baseInkAnalyzer.ResultsUpdatedBase +=
                new System.Windows.Ink.AnalysisCore.ResultsUpdatedBaseEventHandler(
                    this.BaseResultsAvailable);
        }

Nell'esempio seguente viene definito il metodo, PopulateContextNodeBase, che gestisce l'evento PopulateContextNodeBase. Le informazioni relative all'evento vengono passate all'oggetto modello di documento, baseDocumentModel.

In questo esempio non viene fornita la definizione del modello di documento né viene illustrato come vengono elaborate le informazioni passate a tale modello.

''' <summary>
''' Handles the InkAnalyzerBase.PopulateContextNodeBase event.
''' </summary>
''' <param name="sender">The source of the event.</param>
''' <param name="e">The event data.</param>
''' <remarks>
''' This event handler fully populates a ContextNodeBase from the document model.
''' The InkAnalyzerBase calls this event handler when it accesses a partially
''' populated ContextNodeBase created by the document model.
''' </remarks>
Private Sub PopulateContextNodeBase( _
    ByVal sender As Object, _
    ByVal e As System.Windows.Ink.AnalysisCore.PopulateContextNodeBaseEventArgs)

    Me.baseDocumentModel.PopulateNode( _
        e.NodeToPopulate, CType(sender, System.Windows.Ink.AnalysisCore.InkAnalyzerBase))

End Sub 'PopulateContextNodeBase
        /// <summary>
        /// Handles the InkAnalyzerBase.PopulateContextNodeBase event.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The event data.</param>
        /// <remarks>
        /// This event handler fully populates a ContextNodeBase from the document model.
        /// The InkAnalyzerBase calls this event handler when it accesses a partially
        /// populated ContextNodeBase created by the document model.
        /// </remarks>
        private void PopulateContextNodeBase(
            object sender, System.Windows.Ink.AnalysisCore.PopulateContextNodeBaseEventArgs e)
        {
            this.baseDocumentModel.PopulateNode(
                e.NodeToPopulate,
                (System.Windows.Ink.AnalysisCore.InkAnalyzerBase)sender);
        }

Piattaforme

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Informazioni sulla versione

.NET Framework

Supportato in: 3.0

Vedere anche

Riferimenti

InkAnalyzerBase Classe

Membri InkAnalyzerBase

Spazio dei nomi System.Windows.Ink.AnalysisCore

System.Windows.Ink.AnalysisCore.ContextNodeBase

System.Windows.Ink.AnalysisCore.ContextLinkBase

InkAnalyzerBase.ReadyToReconcileBase