Condividi tramite


Metodo InkAnalyzerBase.Reconcile

Aggiornamento: novembre 2007

Determina le parti dei risultati dell'analisi modificate durante l'analisi in background dell'input penna.

Spazio dei nomi:  System.Windows.Ink.AnalysisCore
Assembly:  IACore (in IACore.dll)

Sintassi

'Dichiarazione
Public Sub Reconcile
'Utilizzo
Dim instance As InkAnalyzerBase

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

Note

Per impostazione predefinita, l'analizzatore dell'input penna esegue una fase di riconciliazione automatica immediatamente prima di generare gli eventi IntermediateResultsUpdatedBase e ResultsUpdatedBase.

Nota

La classe derivata, InkAnalyzer, esegue la riconciliazione immediatamente prima di generare gli eventi IntermediateResultsUpdated e ResultsUpdated.

Per disattivare la riconciliazione automatica, cancellare il valore del flag AnalysisModes, AutomaticReconciliationEnabled nella proprietà AnalysisModes dell'analizzatore. Il metodo BackgroundAnalyze genera un'eccezione quando la riconciliazione automatica è disattivata e l'applicazione non ha aggiunto un gestore dell'evento ReadyToReconcileBase. L'applicazione deve chiamare il metodo Reconcile prima che l'analizzatore dell'input penna possa continuare l'elaborazione dei risultati o continuare l'ulteriore analisi per la fase di analisi corrispondente.

Durante l'analisi in background, un altro thread può apportare modifiche nella struttura dei nodi di contesto dell'analizzatore, ad esempio aggiungendo o rimuovendo i tratti e modificando i dati del tratto. Tali modifiche possono invalidare parti dei risultati dell'analisi in background. L'oggetto Reconcile applica i risultati dell'analisi solo alla struttura dei nodi di contesto dell'analizzatore per le parti non modificate durante l'analisi in background. Inoltre, l'oggetto Reconcile aggiunge l'area alle aree DirtyRegion dell'analizzatore contenenti i risultati dell'analisi non validi.

Per ulteriori informazioni sull'utilizzo di InkAnalyzerBase per analizzare l'input penna, vedere Ink Analysis Overview.

Esempi

Nell'esempio seguente viene definito un metodo, theInkAnalyzerBase_ReadyToReconcile, che gestisce l'evento ReadyToReconcileBase di un oggetto InkAnalyzerBase. Se viene impostato il valore Boolean abortAnalysis, theInkAnalyzerBase_ReadyToReconcile interrompe l'operazione di analisi. In caso contrario, esegue la riconciliazione manuale e continua con l'operazione di analisi.

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

Piattaforme

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Informazioni sulla versione

.NET Framework

Supportato in: 3.0

Vedere anche

Riferimenti

InkAnalyzerBase Classe

Membri InkAnalyzerBase

Overload Reconcile

Spazio dei nomi System.Windows.Ink.AnalysisCore

InkAnalyzerBase.AnalysisModes

InkAnalyzerBase.BackgroundAnalyze

InkAnalyzerBase.ReadyToReconcileBase