判斷分析結果的哪些部分在背景筆墨分析期間已變更。
命名空間: 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()
備註
根據預設,筆墨分析器會在引發 IntermediateResultsUpdatedBase 和 ResultsUpdatedBase 事件之前,立即執行自動協調階段。
注意事項: |
|---|
衍生類別 InkAnalyzer 會在引發 IntermediateResultsUpdated 和 ResultsUpdated 事件之前立即執行協調。 |
若要停用自動協調,請清除分析器 AnalysisModes 屬性中的 AnalysisModes 旗標值 AutomaticReconciliationEnabled。BackgroundAnalyze 方法會在自動協調已停用,而且您的應用程式尚未加入 ReadyToReconcileBase 事件的事件處理常式時擲回例外狀況。您的應用程式必須先呼叫 Reconcile 方法,筆墨分析器才能繼續處理結果,或繼續進一步分析對應的分析階段。
在背景分析期間,另一個執行緒可以在分析器的內容節點樹狀目錄中進行變更,例如加入或移除筆劃,以及變更筆劃資料。這類變更可能使部分背景分析結果無效,。Reconcile 只會將分析結果套用至背景分析期間尚未變更部分的分析器內容節點樹狀目錄。Reconcile 還會將區域加入至分析器中包含無效分析結果的 DirtyRegion 區域。
如需使用 InkAnalyzerBase 分析筆墨的詳細資訊,請參閱Ink Analysis Overview。
範例
下列範例會定義 theInkAnalyzerBase_ReadyToReconcile 方法,用來處理 InkAnalyzerBase 的 ReadyToReconcileBase 事件。如果設定了布林值 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
請參閱
參考
System.Windows.Ink.AnalysisCore 命名空間
注意事項: