다음을 통해 공유


InkAnalyzerBase.Reconcile 메서드

업데이트: 2007년 11월

백그라운드 잉크 분석 도중 분석 결과에서 변경된 부분을 확인합니다.

네임스페이스:  System.Windows.Ink.AnalysisCore
어셈블리:  IACore(IACore.dll)

구문

‘선언
Public Sub Reconcile
‘사용 방법
Dim instance As InkAnalyzerBase

instance.Reconcile()
public void Reconcile()
public:
void Reconcile()
public void Reconcile()
public function Reconcile()

설명

기본적으로 잉크 분석기는 IntermediateResultsUpdatedBaseResultsUpdatedBase 이벤트를 발생시키기 직전에 자동 조정 단계를 수행합니다.

참고

파생 클래스인 InkAnalyzerIntermediateResultsUpdatedResultsUpdated 이벤트를 발생시키기 직전에 조정을 수행합니다.

자동 조정을 사용하지 않으려면 분석기의 AnalysisModes 속성에서 AnalysisModes 플래그 값 AutomaticReconciliationEnabled를 삭제합니다. 자동 조정이 사용되지 않도록 설정되었고 응용 프로그램에서 ReadyToReconcileBase 이벤트에 대한 이벤트 처리기를 추가하지 않은 경우 BackgroundAnalyze 메서드가 예외를 throw합니다. 잉크 분석기가 결과를 계속 처리하거나 해당 분석 단계에 대한 후속 분석을 계속하려면 먼저 응용 프로그램에서 Reconcile 메서드를 호출해야 합니다.

백그라운드 분석 도중 다른 스레드에서 스트로크를 추가하거나 제거하고 스트로크 데이터를 변경하는 등 분석기의 컨텍스트 노드 트리를 변경할 수 있습니다. 이렇게 변경하면 백그라운드 분석 결과 일부가 무효화될 수 있습니다. Reconcile은 백그라운드 분석 도중 변경되지 않은 부분에 대해서만 분석기의 컨텍스트 노드 트리에 분석 결과를 적용합니다. 또한 Reconcile은 분석기의 DirtyRegion 영역에 무효화된 분석 결과를 포함하는 영역을 추가합니다.

InkAnalyzerBase를 사용하여 잉크를 분석하는 방법에 대한 자세한 내용은 Ink Analysis Overview를 참조하십시오.

예제

다음 예제에서는 InkAnalyzerBaseReadyToReconcileBase 이벤트를 처리하는 theInkAnalyzerBase_ReadyToReconcile이라는 메서드를 정의합니다. 부울 값인 abortAnalysis가 설정되어 있으면 theInkAnalyzerBase_ReadyToReconcile에서 분석 작업을 중단합니다. 그렇지 않으면 수동으로 조정한 후 분석 작업을 계속합니다.

''' <summary>
''' Handles the StrokeReparentedBase event of an InkAnalyzerBase.
''' </summary>
''' <param name="sender">The source of the event.</param>
''' <param name="e">The event data.</param>
Sub theInkAnalyzerBase_ReadyToReconcile( _
ByVal sender As Object, _
ByVal e As EventArgs)
    ' The source is an InkAnalyzerBase.
    Dim theInkAnalyzerBase As System.Windows.Ink.AnalysisCore.InkAnalyzerBase = _
        DirectCast(sender, System.Windows.Ink.AnalysisCore.InkAnalyzerBase)

    ' Check whether or not to abort analysis before continuing.
    If Me.abortAnalysis Then
        ' Abort analysis and update the analyzer's dirty region.
        Dim unanalyzedRegion As System.Windows.Ink.AnalysisCore.AnalysisRegionBase = _
            theInkAnalyzerBase.Abort()
        theInkAnalyzerBase.DirtyRegion.Union(unanalyzedRegion)
    Else
        ' Manually reconcile the analysis results for this analysis phase.
        theInkAnalyzerBase.Reconcile()
    End If

End Sub 'theInkAnalyzerBase_ReadyToReconcile
/// <summary>
/// Handles the ReadyToReconcile event of an InkAnalyzerBase.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The event data.</param>
void theInkAnalyzerBase_ReadyToReconcile(object sender, EventArgs e)
{
    // The source is an InkAnalyzerBase.
    System.Windows.Ink.AnalysisCore.InkAnalyzerBase theInkAnalyzerBase =
        sender as System.Windows.Ink.AnalysisCore.InkAnalyzerBase;

    // Check whether or not to abort analysis before continuing.
    if (this.abortAnalysis)
    {
        // Abort analysis and update the analyzer's dirty region.
        System.Windows.Ink.AnalysisCore.AnalysisRegionBase unanalyzedRegion =
            theInkAnalyzerBase.Abort();
        theInkAnalyzerBase.DirtyRegion.Union(unanalyzedRegion);
    }
    else
    {
        // Manually reconcile the analysis results for this analysis phase.
        theInkAnalyzerBase.Reconcile();
    }
}

플랫폼

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

3.0에서 지원

참고 항목

참조

InkAnalyzerBase 클래스

InkAnalyzerBase 멤버

Reconcile 오버로드

System.Windows.Ink.AnalysisCore 네임스페이스

InkAnalyzerBase.AnalysisModes

InkAnalyzerBase.BackgroundAnalyze

InkAnalyzerBase.ReadyToReconcileBase