This documentation is archived and is not being maintained.

InkAnalyzerBase.BackgroundAnalyze Method

Performs asynchronous ink analysis, which includes layout analysis, writing and drawing classification, and handwriting recognition.

Namespace:  System.Windows.Ink.AnalysisCore
Assembly:  IACore (in IACore.dll)

public bool BackgroundAnalyze()

Return Value

Type: System.Boolean
true if the asynchronous ink analysis has started; otherwise, false.

When this method is called, the InkAnalyzerBase performs the ink analysis on a background thread. The InkAnalyzerBase raises events generated by the background analysis on the thread upon which the InkAnalyzerBase was created.


For the derived class, InkAnalyzer, the SynchronizingObject property controls upon which thread the InkAnalyzer raises events generated during background analysis.

This method does not start a new background analysis operation under the following circumstances.

  • The ink analyzer is currently performing background analysis.

  • DirtyRegion represents an empty area.

The InkAnalyzerBase analyzes ink within its DirtyRegion during a call to Analyze or BackgroundAnalyze. However, the ink analyzer may expand the analysis operation to include neighboring regions.

This method sets the DirtyRegion property to an empty region.

If stroke data was added to the ink analyzer after the call to BackgroundAnalyze, the ink analyzer may update the DirtyRegion property during the reconcile phase of ink analysis.

The value of the AnalysisModes property specifies how the ink analyzer performs background analysis. For more information about ink analysis, see Ink Analysis Overview.

This method throws an exception under the following circumstances.

This example starts background ink analysis on an InkAnalyzerBase, theInkAnalyzerBase, if the ink analyzer is not currently performing ink analysis.

if (!theInkAnalyzerBase.IsAnalyzing)
    bool started = theInkAnalyzerBase.BackgroundAnalyze();

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.0