共用方式為


InkAnalyzerBase.InkAnalyzerStateChangingBase 事件

在筆墨分析器協調分析結果之前發生,如此應用程式就能將資料與筆墨分析器同步處理。

命名空間:  System.Windows.Ink.AnalysisCore
組件:  IACore (在 IACore.dll 中)

語法

'宣告
Public Event InkAnalyzerStateChangingBase As InkAnalyzerStateChangingBaseEventHandler
'用途
Dim instance As InkAnalyzerBase
Dim handler As InkAnalyzerStateChangingBaseEventHandler

AddHandler instance.InkAnalyzerStateChangingBase, handler
public event InkAnalyzerStateChangingBaseEventHandler InkAnalyzerStateChangingBase
public:
 event InkAnalyzerStateChangingBaseEventHandler^ InkAnalyzerStateChangingBase {
    void add (InkAnalyzerStateChangingBaseEventHandler^ value);
    void remove (InkAnalyzerStateChangingBaseEventHandler^ value);
}
/** @event */
public void add_InkAnalyzerStateChangingBase (InkAnalyzerStateChangingBaseEventHandler value)
/** @event */
public void remove_InkAnalyzerStateChangingBase (InkAnalyzerStateChangingBaseEventHandler value)
JScript 不支援事件。

備註

當您的應用程式維護本身的資料結構時使用這個事件,該資料結構會與 InkAnalyzerBase 的資料結構同步處理。當筆墨分析器引發這個事件時,您的應用程式應該會填入 InkAnalyzerBase 物件之 RootNodeSubNodes 屬性。

筆墨分析器會在引發 ReadyToReconcileBase 事件之後引發這個事件。只有在執行背景分析時,它才會引發這個事件。

當筆墨分析器引發 InkAnalyzerStateChangingBase 事件時,請鎖定您的資料結構。在這個分析階段期間變更資料結構,可能會造成筆墨分析和同步處理發生錯誤。當筆墨分析器引發 IntermediateResultsUpdatedBaseResultsUpdatedBase 事件時,解除鎖定您的資料結構。

如需將應用程式資料與 InkAnalyzerBase 進行同步處理的詳細資訊,請參閱Data Proxy with Ink Analysis

範例

下列範例會定義 AttachDataProxyEventHandlers 方法,將資料 Proxy 事件處理常式附加至 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);
        }

下列範例會定義用來處理 InkAnalyzerStateChangingBase 事件的 InkAnalyzerBase_StateChanging 方法。事件資訊會傳遞至 baseDocumentModel 文件模型物件。

這個範例並未提供文件模型的定義,也未示範處理傳入資訊的方式。

''' <summary>
''' Handles the InkAnalyzerBase.InkAnalyzerStateChangingBase event.
''' </summary>
''' <param name="sender">The source of the event.</param>
''' <param name="e">The event data.</param>
Private Sub InkAnalyzerBase_StateChanging( _
    ByVal sender As Object, ByVal e As System.EventArgs)

    Me.baseDocumentModel.BeginReconcilePhase()

End Sub 'InkAnalyzerBase_StateChanging
/// <summary>
/// Handles the InkAnalyzerBase.InkAnalyzerStateChangingBase event.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The event data.</param>
private void InkAnalyzerBase_StateChanging(
    object sender, System.EventArgs e)
{
    this.baseDocumentModel.BeginReconcilePhase();
}

平台

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求

版本資訊

.NET Framework

支援版本:3.0

請參閱

參考

InkAnalyzerBase 類別

InkAnalyzerBase 成員

System.Windows.Ink.AnalysisCore 命名空間

InkAnalyzerBase.BackgroundAnalyze

InkAnalyzerBase.IntermediateResultsUpdatedBase

InkAnalyzerBase.PopulateContextNodeBase

InkAnalyzerBase.ReadyToReconcileBase

InkAnalyzerBase.ResultsUpdatedBase