InkAnalyzerBase.IntermediateResultsUpdatedBase 事件

在当前中间分析阶段完成时发生。

命名空间:  System.Windows.Ink.AnalysisCore
程序集:  IACore(在 IACore.dll 中)

语法

声明
Public Event IntermediateResultsUpdatedBase As ResultsUpdatedBaseEventHandler
用法
Dim instance As InkAnalyzerBase
Dim handler As ResultsUpdatedBaseEventHandler

AddHandler instance.IntermediateResultsUpdatedBase, handler
public event ResultsUpdatedBaseEventHandler IntermediateResultsUpdatedBase
public:
 event ResultsUpdatedBaseEventHandler^ IntermediateResultsUpdatedBase {
    void add (ResultsUpdatedBaseEventHandler^ value);
    void remove (ResultsUpdatedBaseEventHandler^ value);
}
/** @event */
public void add_IntermediateResultsUpdatedBase (ResultsUpdatedBaseEventHandler value)
/** @event */
public void remove_IntermediateResultsUpdatedBase (ResultsUpdatedBaseEventHandler value)
JScript 不支持事件。

备注

InkAnalyzerBase 在协调当前分析阶段的中间结果之后引发此事件。

如果您的应用程序维护其自己的数据结构(该数据结构与 InkAnalyzerBase 的数据结构同步),则此事件指示 InkAnalyzerBase 已完成此分析阶段中对其内部数据进行的更改。

请在墨迹分析器引发 InkAnalyzerStateChanging 事件时锁定您的数据结构。在此分析阶段中更改数据结构可能导致墨迹分析错误和同步错误。可以在墨迹分析器引发 IntermediateResultsUpdatedBase 或 ResultsUpdatedBase 事件时取消锁定数据结构。

有关将应用程序数据与 InkAnalyzerBase 同步的更多信息,请参见Data Proxy with Ink Analysis

InkAnalyzerBase 仅当其 AnalysisModes 属性设置了 IntermediateResultsEnabled() 标志时才生成中间结果。

示例

此示例定义 AttachDataProxyEventHandlers 方法,该方法将数据代理事件处理程序附加到 InkAnalyzerBasebaseInkAnalyzer。

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

下面的示例定义 ResultsAvailable 方法,用以处理 IntermediateResultsUpdated() 和 ResultsUpdated() 事件。事件信息将传递给文档模型对象 theDocumentModel。

此示例不提供文档模型的定义,也不演示文档模型如何处理传入的信息。

''' <summary>
''' Handles the InkAnalyzerBase.ResultsBase and
''' InkAnalyzerBase.IntermediateResultsBase events.
''' </summary>
''' <param name="sender">The source of the event.</param>
''' <param name="e">The event data.</param>
Private Sub BaseResultsAvailable( _
    ByVal sender As Object, _
    ByVal e As System.Windows.Ink.AnalysisCore.ResultsUpdatedBaseEventArgs)

    Me.baseDocumentModel.ResultsAvailable( _
        CType(sender, System.Windows.Ink.AnalysisCore.InkAnalyzerBase))

End Sub 'BaseResultsAvailable
/// <summary>
/// Handles the InkAnalyzerBase.ResultsBase and
/// InkAnalyzerBase.IntermediateResultsBase events.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The event data.</param>
private void BaseResultsAvailable(
    object sender, System.Windows.Ink.AnalysisCore.ResultsUpdatedBaseEventArgs e)
{
    this.baseDocumentModel.ResultsAvailable(
        (System.Windows.Ink.AnalysisCore.InkAnalyzerBase)sender);
}

平台

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 命名空间