InkAnalyzerBase.Reconcile-Methode
Bestimmt, welche Teile der Analyseergebnisse während der Freihandanalyse im Hintergrund geändert wurden.
Namespace: System.Windows.Ink.AnalysisCore
Assembly: IACore (in IACore.dll)
Syntax
'Declaration
Public Sub Reconcile
'Usage
Dim instance As InkAnalyzerBase
instance.Reconcile()
public void Reconcile()
public:
void Reconcile()
public void Reconcile()
public function Reconcile()
Hinweise
Standardmäßig führt das Freihandanalysemodul unmittelbar vor dem Auslösen des IntermediateResultsUpdatedBase-Ereignisses und des ResultsUpdatedBase-Ereignisses eine automatische Abgleichsphase durch.
Hinweis
Die abgeleitete Klasse InkAnalyzer führt den Abgleich unmittelbar vor dem Auslösen des IntermediateResultsUpdated-Ereignisses und des ResultsUpdated-Ereignisses aus.
Löschen Sie den Wert des AnalysisModes-Flags AutomaticReconciliationEnabled in der AnalysisModes-Eigenschaft des Analysemoduls, um den automatischen Abgleich zu deaktivieren. Die BackgroundAnalyze-Methode löst eine Ausnahme aus, wenn der automatische Abgleich deaktiviert wird und die Anwendung keinen Ereignishandler für das ReadyToReconcileBase-Ereignis hinzugefügt hat. Die Anwendung muss die Reconcile-Methode aufrufen, bevor das Freihandanalysemodul mit der Verarbeitung der Ergebnisse oder einer weiteren Analyse für die entsprechende Analysephase fortfahren kann.
Während der Hintergrundanalyse kann ein anderer Thread Änderungen in der Kontextknotenstruktur des Analysemoduls vornehmen, z. B. Hinzufügen oder Entfernen von Strichen oder Ändern von Strichdaten. Solche Änderungen können Teile der Hintergrundanalyseergebnisse ungültig machen. Reconcile wendet Analyseergebnisse auf die Kontextknotenstruktur des Analysemoduls nur für die Teile an, die sich während der Hintergrundanalyse nicht geändert haben. Reconcile fügt Bereiche zudem den DirtyRegion-Bereichen des Analysemoduls hinzu, die ungeprüfte Analyseergebnisse enthalten.
Weitere Informationen zum Verwenden von InkAnalyzerBase für die Analyse von Freihandeingaben finden Sie unter Ink Analysis Overview.
Beispiele
Im folgenden Beispiel wird die theInkAnalyzerBase_ReadyToReconcile-Methode definiert, die das ReadyToReconcileBase-Ereignis eines InkAnalyzerBase behandelt. Wenn der boolesche Wert abortAnalysis festgelegt wird, wird der Analysevorgang von theInkAnalyzerBase_ReadyToReconcile abgebrochen. Andernfalls wird ein manueller Abgleich ausgeführt und der Analysevorgang fortgesetzt.
''' <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();
}
}
Plattformen
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Versionsinformationen
.NET Framework
Unterstützt in: 3.0
Siehe auch
Referenz
System.Windows.Ink.AnalysisCore-Namespace