Condividi tramite


Evento InkAnalyzerBase.ContextNodeDeletingBase

Aggiornamento: novembre 2007

Si verifica prima che l'analizzatore dell'input penna elimini un oggetto ContextNodeBase.

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

Sintassi

'Dichiarazione
Public Event ContextNodeDeletingBase As ContextNodeDeletingBaseEventHandler
'Utilizzo
Dim instance As InkAnalyzerBase
Dim handler As ContextNodeDeletingBaseEventHandler

AddHandler instance.ContextNodeDeletingBase, handler
public event ContextNodeDeletingBaseEventHandler ContextNodeDeletingBase
public:
 event ContextNodeDeletingBaseEventHandler^ ContextNodeDeletingBase {
    void add (ContextNodeDeletingBaseEventHandler^ value);
    void remove (ContextNodeDeletingBaseEventHandler^ value);
}
/** @event */
public void add_ContextNodeDeletingBase (ContextNodeDeletingBaseEventHandler value)
/** @event */
public void remove_ContextNodeDeletingBase (ContextNodeDeletingBaseEventHandler 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. Questo evento si verifica durante la fase di riconciliazione dell'analisi dell'input penna o in risposta a un metodo dell'analizzatore dell'input penna che elimina ContextNodeBase.

Prima che l'analizzatore dell'input penna elimini un nodo di contesto, l'analizzatore rimuove tutti i tratti dal nodo di contesto e rimuove tutti i collegamenti agli altri nodi di contesto. Prima della rimozione del nodo di contesto, l'oggetto InkAnalyzerBase può generare gli eventi seguenti.

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

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, RemoveContextNodeBase, che gestisce l'evento ContextNodeDeletingBase. 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.ContextNodeDeletingBase event.
''' </summary>
''' <param name="sender">The source of the event.</param>
''' <param name="e">The event data.</param>
Private Sub RemoveContextNodeBase( _
    ByVal sender As Object, _
    ByVal e As System.Windows.Ink.AnalysisCore.ContextNodeDeletingBaseEventArgs)

    ' Do not remove unclassified ink nodes from the document model.
    If System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.UnclassifiedInk <> e.NodeToBeDeleted.Type Then
        Me.baseDocumentModel.RemoveNode(e.NodeToBeDeleted)
    End If

End Sub 'RemoveContextNodeBase
        /// <summary>
        /// Handles the InkAnalyzerBase.ContextNodeDeletingBase event.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The event data.</param>
        private void RemoveContextNodeBase(
            object sender, System.Windows.Ink.AnalysisCore.ContextNodeDeletingBaseEventArgs e)
        {
            // Do not remove unclassified ink nodes from the document model.
            if (System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.UnclassifiedInk
                != e.NodeToBeDeleted.Type)
            {
                this.baseDocumentModel.RemoveNode(e.NodeToBeDeleted);
            }
        }

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

InkAnalyzerBase.ContextNodeCreatedBase

InkAnalyzerBase.ContextNodeLinkAddingBase

InkAnalyzerBase.ContextNodePropertiesUpdatedBase

InkAnalyzerBase.StrokesReparentedBase