업데이트: 2007년 11월
백그라운드 잉크 분석 도중 분석 결과에서 변경된 부분을 조정합니다.
네임스페이스: System.Windows.Ink
어셈블리: IAWinFX(IAWinFX.dll)
구문
‘선언
Public Sub Reconcile
‘사용 방법
Dim instance As InkAnalyzer
instance.Reconcile()
public void Reconcile()
public:
void Reconcile()
public void Reconcile()
public function Reconcile()
설명
조정 메서드는 백그라운드 분석 중 변경된 분석 결과 부분을 확인합니다. 분석 작업이 백그라운드 스레드에서 수행되기 때문에 ContextNode 개체가 변경되면(예: 스트로크 삭제 또는 스트로크 이동) 해당 계산이 무효화될 수 있습니다.
기본적으로 조정은 IntermediateResultsUpdated 또는 ResultsUpdated 이벤트를 발생시키기 전에 자동으로 수행됩니다. 하지만 조정이 수행되는 시기를 제어하려면 적절한 AnalysisModes를 설정하여 AutomaticReconciliationEnabled를 해제합니다. 해제한 경우에는 ReadyToReconcile 이벤트에 대해 등록해야 합니다. ReadyToReconcile 이벤트가 발생하면 이 Reconcile() 메서드 또는 트랜잭션 Reconcile(Int64) 메서드를 호출하여(ReadyToReconcile 이벤트 처리의 내부 또는 외부에서) 분석 작업을 완료하거나 계속해야 합니다.
Reconcile 메서드는 응용 프로그램과 분석 작업 모두에 의해 업데이트된(이를 충돌이라 함) 컨텍스트 노드를 식별합니다. RootNode 속성에서 참조되는 ContextNodeCollection에 대한 응용 프로그램 변경 내용은 유지됩니다. 컬렉션을 유지하기 위해 충돌하는 분석 결과는 업데이트되지 않습니다. 충돌 영역은 해당 영역을 다시 분석할 수 있도록 자동으로 DirtyRegion 속성에 추가됩니다.
분석 작업을 호출하기 위해 BackgroundAnalyze 메서드가 사용된 경우에만 이벤트가 발생합니다.
이 Reconcile()의 오버로드를 여러 번 호출하면 예외가 발생하지 않고 알림 없이 오류가 발생하게 됩니다.
시간 제한이 있는 트랜잭션 조정이 수행된 후 이 Reconcile()의 오버로드를 호출하면 마지막 트랜잭션이 끝난 지점부터 처리가 계속됩니다. 그런 다음 조정이 완료될 때까지 처리가 실행됩니다.
예제
다음 예제에서는 InkAnalyzer의 ReadyToReconcile 이벤트를 처리하는 theInkAnalyzer_ReadyToReconcile이라는 메서드를 정의합니다. 부울 값인 abortAnalysis가 설정되어 있으면 theInkAnalyzer_ReadyToReconcile에서 분석 작업을 중단합니다. 그렇지 않으면 수동으로 조정한 후 분석 작업을 계속합니다.
Sub theInkAnalyzer_ReadyToReconcile(ByVal sender As Object, ByVal e As EventArgs)
MessageBox.Show("ReadyToReconcile")
' The source is an InkAnalyzer.
Dim theInkAnalyzer As InkAnalyzer = CType(sender, InkAnalyzer)
' 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 AnalysisRegion = theInkAnalyzer.Abort()
theInkAnalyzer.DirtyRegion.Union(unanalyzedRegion)
Else
' Manually reconcile the analysis results for this analysis phase.
theInkAnalyzer.Reconcile()
End If
End Sub 'theInkAnalyzer_ReadyToReconcile
void theInkAnalyzer_ReadyToReconcile(object sender, EventArgs e)
{
MessageBox.Show("ReadyToReconcile");
// The source is an InkAnalyzer.
InkAnalyzer theInkAnalyzer = sender as InkAnalyzer;
// Check whether or not to abort analysis before continuing.
if (this.abortAnalysis)
{
// Abort analysis and update the analyzer's dirty region.
AnalysisRegion unanalyzedRegion =
theInkAnalyzer.Abort();
theInkAnalyzer.DirtyRegion.Union(unanalyzedRegion);
}
else
{
// Manually reconcile the analysis results for this analysis phase.
theInkAnalyzer.Reconcile();
}
}
플랫폼
Windows Vista
.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
3.0에서 지원