InkAnalyzer.Reconcile, méthode
Mise à jour : November 2007
Rapproche des parties des résultats d'analyse qui ont changé pendant l'analyse d'entrée manuscrite d'arrière-plan.
Espace de noms : System.Windows.Ink
Assembly : IAWinFX (dans IAWinFX.dll)
Syntaxe
'Déclaration
Public Sub Reconcile
'Utilisation
Dim instance As InkAnalyzer
instance.Reconcile()
public void Reconcile()
public:
void Reconcile()
public void Reconcile()
public function Reconcile()
Notes
La méthode de rapprochement détermine quelles parties des résultats d'analyse sont modifiées pendant l'analyse d'arrière-plan. Tandis que l'analyse est traitée sur le thread d'arrière-plan, les modifications apportées aux objets ContextNode (par exemple, une suppression ou un déplacement de trait) peuvent invalider ce calcul.
Par défaut, le rapprochement se produit automatiquement juste avant de déclencher les événements IntermediateResultsUpdated ou ResultsUpdated. Toutefois, si vous souhaitez décider du moment du rapprochement, désactivez AutomaticReconciliationEnabled en définissant la propriété AnalysisModesappropriée. Après la désactivation, les utilisateurs doivent s'inscrire pour l'événement ReadyToReconcile. Lorsque l'événement ReadyToReconcile est déclenché, vous devez appeler cette méthode Reconcile() ou la méthode transactionnelle Reconcile(Int64) (à l'intérieur ou à l'extérieur de votre gestion de l'événement ReadyToReconcile) pour que l'analyse se poursuive ou se termine.
La méthode Reconcile identifie les nœuds de contexte mis à jour à la fois par l'application et par l'analyse (collision). Les modifications apportées par l'application au ContextNodeCollection référencé par la propriété RootNode sont conservées. Les résultats d'analyse en conflit ne sont pas mis à jour afin de maintenir la collection. Les régions des collisions sont automatiquement ajoutées à la propriété DirtyRegion afin de garantir que ces zones soient de nouveau analysées.
L'événement est déclenché uniquement si la méthode BackgroundAnalyze est utilisée pour appeler l'analyse.
L'appel multiple à cette surcharge de Reconcile() ne lève pas d'exceptions, mais échoue sans avertissement préalable.
Après un rapprochement transactionnel (avec une limite de temps), l'appel à cette surcharge de Reconcile() produit le résultat suivant : le traitement continue en commençant au point où la dernière transaction s'est terminée. Le traitement s'exécute jusqu'à la fin du rapprochement.
Exemples
L'exemple suivant définit une méthode nommée theInkAnalyzer_ReadyToReconcile qui gère l'événement ReadyToReconcile d'un InkAnalyzer. Si la valeur booléenne, abortAnalysis, est définie, theInkAnalyzer_ReadyToReconcile abandonne l'analyse. Sinon, le rapprochement manuel est effectué et l'analyse continue.
Sub theInkAnalyzer_ReadyToReconcile(ByVal sender As Object, ByVal e As EventArgs)
MessageBox.Show("ReadyToReconcile")
' The source is an InkAnalyzer.
Dim theInkAnalyzer As InkAnalyzer = CType(sender, InkAnalyzer)
' 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 AnalysisRegion = theInkAnalyzer.Abort()
theInkAnalyzer.DirtyRegion.Union(unanalyzedRegion)
Else
' Manually reconcile the analysis results for this analysis phase.
theInkAnalyzer.Reconcile()
End If
End Sub 'theInkAnalyzer_ReadyToReconcile
void theInkAnalyzer_ReadyToReconcile(object sender, EventArgs e)
{
MessageBox.Show("ReadyToReconcile");
// The source is an InkAnalyzer.
InkAnalyzer theInkAnalyzer = sender as InkAnalyzer;
// Check whether or not to abort analysis before continuing.
if (this.abortAnalysis)
{
// Abort analysis and update the analyzer's dirty region.
AnalysisRegion unanalyzedRegion =
theInkAnalyzer.Abort();
theInkAnalyzer.DirtyRegion.Union(unanalyzedRegion);
}
else
{
// Manually reconcile the analysis results for this analysis phase.
theInkAnalyzer.Reconcile();
}
}
Plateformes
Windows Vista
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