Freigeben über


AnalysisHintNode-Klasse

Stellt einem InkAnalyzer einen Analysehinweis für einen Bereich bereit.

Namespace:  System.Windows.Ink
Assembly:  IAWinFX (in IAWinFX.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 einen Hinweis für das InkAnalyzer-Objekt zur Verfügung, dem es angefügt wird. Der Hinweis bezieht sich auf den Bereich, der durch die Location-Eigenschaft des AnalysisHintNode angegeben ist. Er stellt zusätzlichen Kontext für das Freihandanalysemodul 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 (globaler Hinweis), wendet der InkAnalyzer den Kontext des Hinweises auf sämtliche Freihandelemente an, die sich nicht im Bereich eines anderen Hinweises befinden. An einen einzelnen InkAnalyzer können mehrere Hinweise angefügt werden. An einen einzelnen InkAnalyzer kann jedoch nur ein globaler Hinweis angefügt werden, und nicht globale Hinweise können einander nicht überlappen. Weitere Informationen zu den Typen von Kontextinformationen, die von einem Hinweis bereitgestellt werden können, finden Sie auf der Seite zu Membern unter AnalysisHintNode.

Verwenden Sie InkAnalyzer.CreateAnalysisHint, um einem InkAnalyzer einen Hinweis hinzuzufügen. Verwenden Sie InkAnalyzerDeleteAnalysisHint(), 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 die Freihandeingabe innerhalb des Hinweisbereichs erneut durch InkAnalyzer analysieren zu lassen.

Der InkAnalyzer aktualisiert die Links-Eigenschaft des Hinweises jedes Mal, wenn entweder 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 ContextLinkCollectionRemove(), 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.

Bei der Analyse werden keine Links zwischen AnalysisHintNode und CustomRecognizerNode erstellt oder gelöscht.

Vermeiden Sie es, den Textkontext mit Freihandeingaben zu kombinieren, wenn Sie Hinweise in einer Formularanwendung verwenden. Hinweise sollen die Freihandeingabe mit Bereichen auf Seiten verbinden; Textkontext beeinträchtigt diese Zuordnung zwischen Freihandeingabe und Hinweis. Dies bedeutet z. B., dass in der Analysestruktur keine Textfeldnamen erstellt werden sollten. Andernfalls führt der Analysevorgang die Freihandeingabe und den Textkontext möglicherweise im selben Schreibbereich zusammen, 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 AnalysisHintNode = Me.theInkAnalyzerWithHint.CreateAnalysisHint()
theAnalysisHint.Location.MakeInfinite()

theAnalysisHint.AllowPartialDictionaryTerms = True
theAnalysisHint.Name = "Allow Partial Dictionary Terms"
// Add a new, global analysis hint to theInkAnalyzerWithHint.
AnalysisHintNode theAnalysisHint =
    this.theInkAnalyzerWithHint.CreateAnalysisHint();
theAnalysisHint.Location.MakeInfinite();

theAnalysisHint.AllowPartialDictionaryTerms = true;
theAnalysisHint.Name = "Allow Partial Dictionary Terms";

Vererbungshierarchie

System.Object
  System.Windows.Ink.ContextNode
    System.Windows.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

Siehe auch

Referenz

AnalysisHintNode-Member

System.Windows.Ink-Namespace

System.Windows.Ink.ContextLink

System.Windows.Ink.AnalysisRegion

System.Windows.Ink.InkAnalyzer