AnalysisHintNode-Klasse
Stellt einem InkAnalyzer einen Analysehinweis für einen Bereich bereit.
Namespace: Microsoft.Ink
Assembly: Microsoft.Ink.Analysis (in Microsoft.Ink.Analysis.dll)
Syntax
'Declaration
Public NotInheritable Class AnalysisHintNode _
Inherits ContextNode
'Usage
Dim instance As AnalysisHintNode
public sealed class AnalysisHintNode : ContextNode
public ref class AnalysisHintNode sealed : public ContextNode
public final class AnalysisHintNode extends ContextNode
public final class AnalysisHintNode extends ContextNode
Hinweise
Ein AnalysisHintNode-Objekt stellt dem InkAnalyzer-Objekt, dem es angefügt wird, einen Hinweis über einen bestimmten Bereich, die Location des Hinweises, zur Verfügung. Der Hinweis stellt dem Freihandanalysemodul zusätzlichen Kontext bereit, um die Erkennungsgenauigkeit zu verbessern. Der InkAnalyzer verwendet diese Kontextinformationen bei der Analyse von Freihandeingaben innerhalb des Hinweisbereichs.
Wenn einem unendlichen Bereich ein Hinweis zugewiesen wird, der als globaler Hinweis bezeichnet wird, wendet der InkAnalyzer den Kontext des Hinweises auf sämtliche Freihandeingaben an, die sich nicht im Bereich eines anderen Hinweises befinden. An einen einzelnen InkAnalyzer können mehrere Hinweise angefügt werden. An einen einzigen InkAnalyzer kann jedoch nur ein globaler Hinweis angefügt werden, und nicht globale Hinweise können einander nicht überlappen. Weitere Informationen zu den Arten von Kontextinformationen, die von einem Hinweis bereitgestellt werden können, finden Sie bei den Membern dieser Klasse.
Verwenden Sie InkAnalyzer.CreateAnalysisHint, um einem InkAnalyzer einen Hinweis hinzuzufügen. Verwenden Sie DeleteAnalysisHint, um einen Hinweis aus einem InkAnalyzer zu entfernen.
Hinweis
Die DirtyRegion des InkAnalyzer-Objekts wird nicht geändert, wenn einem InkAnalyzer ein Hinweis hinzugefügt wird. Verwenden Sie die Union(AnalysisRegion)-Methode des DirtyRegion-Objekts, um den InkAnalyzer die Freihandeingabe innerhalb des Hinweisbereichs erneut analysieren zu lassen.
Der InkAnalyzer aktualisiert die Links-Eigenschaft des Hinweises jedes Mal, wenn die Analyze-Methode oder die BackgroundAnalyze-Methode aufgerufen wird. Der InkAnalyzer fügt einen ContextLink zwischen dem AnalysisHintNode und jedem ContextNode hinzu, für den der Hinweis gilt. Wenn ein Hinweis für alle Nachfolger eines ContextNode gilt, verknüpft der InkAnalyzer den Hinweis nur mit diesem ContextNode und nicht mit den Nachfolgern.
Die Location-Eigenschaft eines AnalysisHintNode wird nicht verwendet, um den Hinweis auf einen Knoten eines benutzerdefinierten Erkennungsmoduls anzuwenden. Wenn Sie einen Hinweis erstellen und seine Position so festlegen, dass er die Striche im CustomRecognizerNode enthält, wird dieser Hinweis nicht auf diese Striche angewendet. Um den Hinweis richtig auf die Striche in einem Knoten eines benutzerdefinierten Erkennungsmoduls anzuwenden, erstellen Sie einen Link zwischen AnalysisHintNode und CustomRecognizerNode, bevor Sie Analyze aufrufen. Gehen Sie z. B. davon aus, dass ein AnalysisHintNode mit dem Namen theAnalysisHint und ein CustomRecognizerNode mit dem Namen theCustomRecognizerNode vorhanden sind. Verwenden Sie theAnalysisHint.Links.Add(theCustomRecognizerNode, ContextLinkDirection.LinksWith), um einen Link zwischen den beiden zu erstellen.
Es kann nur ein einziger nicht globaler Hinweis auf einen CustomRecognizerNode angewendet werden. Zum Entfernen eines nicht globalen Hinweises aus einem CustomRecognizerNode verwenden Sie Remove, um den Link aus der Links-Eigenschaft des CustomRecognizerNode zu entfernen.
Wenn ein nicht globaler Hinweis für einen nicht leeren Bereich auf einen CustomRecognizerNode angewendet wird, wendet der InkAnalyzer den Kontext des Hinweises sowohl auf den CustomRecognizerNode als auch auf die Freihandeingabe innerhalb des Hinweisbereichs an.
Die Analysefunktion erstellt oder löscht keine Links zwischen einem AnalysisHintNode und einem CustomRecognizerNode.
Wenn für eine Formularanwendung Hinweise verwendet werden, sollte die Anwendung Textkontext und Freihandeingaben in den Formularen nicht kombinieren. Dies bedeutet z. B., dass Textfeldnamen nicht in der Analysestruktur erstellt werden dürfen. Hinweise sollen die Freihandeingabe mit Bereichen auf Seiten verbinden; Textkontext beeinträchtigt diese Zuordnung zwischen Freihandeingabe und Hinweis. Der Analysevorgang kann die Freihandeingabe und den Textkontext im selben Schreibbereich zusammenführen, was eine Zuordnung zwischen der Freihandeingabe und dem Hinweisbereich verhindert.
Beispiele
In diesem Beispiel wird ein AnalysisHintNode mit dem Namen theAnalysisHint für den InkAnalyzer mit dem Namen theInkAnalyzerWithHint erstellt, und theAnalysisHint wird als globaler Hinweis festgelegt, indem sein Bereich als unendlich definiert wird. Für den Hinweis werden dann die AllowPartialDictionaryTerms-Eigenschaft und die Name-Eigenschaft festgelegt.
' Add a new, global analysis hint to theInkAnalyzerWithHint.
Dim theAnalysisHint As Microsoft.Ink.AnalysisHintNode = _
Me.theInkAnalyzerWithHint.CreateAnalysisHint()
theAnalysisHint.Location.MakeInfinite()
theAnalysisHint.AllowPartialDictionaryTerms = True
theAnalysisHint.Name = "Allow Partial Dictionary Terms"
// Add a new, global analysis hint to theInkAnalyzerWithHint.
Microsoft.Ink.AnalysisHintNode theAnalysisHint =
this.theInkAnalyzerWithHint.CreateAnalysisHint();
theAnalysisHint.Location.MakeInfinite();
theAnalysisHint.AllowPartialDictionaryTerms = true;
theAnalysisHint.Name = "Allow Partial Dictionary Terms";
Vererbungshierarchie
System.Object
Microsoft.Ink.ContextNode
Microsoft.Ink.AnalysisHintNode
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