バックグラウンド インク分析時に変更された分析結果の部分を判断します。
名前空間 : 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」を参照してください。
例
次の例では、InkAnalyzerBase の ReadyToReconcileBase イベントを処理する 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
参照
参照
System.Windows.Ink.AnalysisCore 名前空間