InkAnalyzerBase.Reconcile, méthode
Mise à jour : November 2007
Indique quelles parties des résultats d'analyse ont été modifiées pendant l'analyse d'entrée manuscrite d'arrière-plan.
Espace de noms : System.Windows.Ink.AnalysisCore
Assembly : IACore (dans IACore.dll)
Syntaxe
'Déclaration
Public Sub Reconcile
'Utilisation
Dim instance As InkAnalyzerBase
instance.Reconcile()
public void Reconcile()
public:
void Reconcile()
public void Reconcile()
public function Reconcile()
Notes
Par défaut, l'analyseur d'entrée manuscrite exécute une phase de rapprochement automatique juste avant de déclencher les événements IntermediateResultsUpdatedBase et ResultsUpdatedBase.
![]() |
---|
La classe dérivée, InkAnalyzer, exécute le rapprochement juste avant de déclencher les événements IntermediateResultsUpdated et ResultsUpdated. |
Pour désactiver le rapprochement automatique, effacez la valeur AutomaticReconciliationEnabled de l'indicateur de AnalysisModes dans la propriété AnalysisModes de l'analyseur. La méthode BackgroundAnalyze lève une exception lorsque le rapprochement automatique est désactivé et que votre application n'a pas ajouté de gestionnaire d'événements pour l'événement ReadyToReconcileBase. Votre application doit appeler la méthode Reconcile pour que l'analyseur d'entrée manuscrite puisse poursuivre le traitement des résultats ou l'analyse pour l'étape d'analyse correspondante.
Pendant l'analyse d'arrière-plan, un autre thread peut apporter des modifications à l'arborescence des nœuds de contexte de l'analyseur, en ajoutant ou en supprimant des traits et en modifiant les données d'un trait. De telles modifications peuvent invalider certaines parties des résultats d'analyse d'arrière-plan. Reconcile applique les résultats d'analyse à l'arborescence des nœuds de contexte de l'analyseur uniquement pour les parties qui n'ont pas été modifiées pendant l'analyse d'arrière-plan. Reconcile ajoute également la zone aux régions DirtyRegion de l'analyseur qui contiennent des résultats d'analyse invalidés.
Pour plus d'informations sur l'utilisation du InkAnalyzerBase pour analyser l'entrée manuscrite, consultez Ink Analysis Overview.
Exemples
L'exemple suivant définit une méthode, theInkAnalyzerBase_ReadyToReconcile, qui gère l'événement ReadyToReconcileBase d'un InkAnalyzerBase. Si la valeur booléenne abortAnalysis est définie, theInkAnalyzerBase_ReadyToReconcile abandonne l'analyse. Sinon, le rapprochement manuel est effectué et l'analyse continue.
''' <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();
}
}
Plateformes
Windows Vista, Windows XP SP2, Windows Server 2003
Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Informations de version
.NET Framework
Pris en charge dans : 3.0
Voir aussi
Référence
System.Windows.Ink.AnalysisCore, espace de noms