Freigeben über


CustomRecognizerNode-Klasse

Stellt einen ContextNode für einen einzelnen Erkennungsvorgang dar. Alle Striche und Knoten, die sich unter einem CustomRecognizerNode-Knoten befinden, werden in einem unabhängigen Erkennungsvorgang erkannt und nicht von InkAnalyzer analysiert.

Namespace:  Microsoft.Ink
Assembly:  Microsoft.Ink.Analysis (in Microsoft.Ink.Analysis.dll)

Syntax

'Declaration
Public NotInheritable Class CustomRecognizerNode _
    Inherits ContextNode
'Usage
Dim instance As CustomRecognizerNode
public sealed class CustomRecognizerNode : ContextNode
public ref class CustomRecognizerNode sealed : public ContextNode
public final class CustomRecognizerNode extends ContextNode
public final class CustomRecognizerNode extends ContextNode

Hinweise

Ein CustomRecognizerNode-Knoten kann die folgenden Typen von untergeordneten Elementen enthalten:

  • Eine beliebige Anzahl von UnclassifiedInk-Knoten.

  • Eine beliebige Anzahl von Object-Knoten.

  • Eine beliebige Anzahl von Line-Knoten.

  • Eine beliebige Anzahl von InkWord-Knoten.

  • Eine beliebige Anzahl von Knoten mit unbekanntem GUID-Wert.

Ein CustomRecognizerNode-Objekt muss dem RootNode-Knoten direkt untergeordnet sein.

Die einfachste Möglichkeit, ein benutzerdefiniertes Erkennungsmodul zu erstellen, besteht darin, InkAnalyzer.CreateCustomRecognizer zu verwenden, um das Modul zu erstellen, und InkAnalyzer.AddStrokesToCustomRecognizer, um ihm Striche zuzuweisen. Wenn ein Strich, den Sie hinzufügen, bereits einem Knoten in der InkAnalyzer-Kontextstruktur zugewiesen ist, einschließlich eines UnclassifiedInkNode-Knotens, wird eine ArgumentException ausgelöst. Um dies zu vermeiden, verwenden Sie InkAnalyzer.RemoveStroke oder InkAnalyzer.RemoveStrokes, um diese Striche aus der InkAnalyzer-Kontextstruktur zu entfernen, bevor Sie sie im benutzerdefinierten Erkennungsmodul hinzufügen.

Beispiele

Im folgenden Beispiel wird eine Guid für ein benutzerdefiniertes Erkennungsmodul namens customRecognizerId verwendet und damit ein CustomRecognizerNode für einen InkAnalyzer namens theInkAnalyzer erstellt. Striche werden dann aus einer Strokes-Auflistung namens strokesForCustomAnalysis hinzugefügt. Dann wird Analyze aufgerufen, und die erkannte Zeichenfolge wird in einer TextBox namens theResultsTextBox abgelegt.

Dim customRecognizer As CustomRecognizerNode = _
    theInkAnalyzer.CreateCustomRecognizer(customRecognizerId)
theInkAnalyzer.AddStrokesToCustomRecognizer(strokesForCustomAnalysis, customRecognizer)

Dim theStatus As Microsoft.Ink.AnalysisStatus = theInkAnalyzer.Analyze()
theResultsTextBox.Text = customRecognizer.GetRecognizedString()
CustomRecognizerNode customRecognizer = 
    theInkAnalyzer.CreateCustomRecognizer(customRecognizerId);
theInkAnalyzer.AddStrokesToCustomRecognizer(strokesForCustomAnalysis, customRecognizer);

Microsoft.Ink.AnalysisStatus theStatus = theInkAnalyzer.Analyze();
theResultsTextBox.Text = customRecognizer.GetRecognizedString();

Vererbungshierarchie

System.Object
  Microsoft.Ink.ContextNode
    Microsoft.Ink.CustomRecognizerNode

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows Vista

.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

CustomRecognizerNode-Member

Microsoft.Ink-Namespace