AnalysisHintNode 類別
為 InkAnalyzer 提供區域的分析提示。
命名空間: System.Windows.Ink
組件: IAWinFX (在 IAWinFX.dll 中)
語法
'宣告
Public NotInheritable Class AnalysisHintNode _
Inherits ContextNode
'用途
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
備註
AnalysisHintNode 會提供附加至 InkAnalyzer 的提示。提示會套用至 AnalysisHintNode 的 Location 屬性所指定的區域,並且為筆墨分析器提供額外的內容,用以提高辨識的正確性。InkAnalyzer 分析提示區域內的筆墨時,會套用這個內容資訊。
如果將提示指派至無限區域 (稱為「全域提示」),則 InkAnalyzer 會將提示的內容套用至不在其他提示區域內的所有筆墨。單一 InkAnalyzer 中可以附加多個提示,但是單一 InkAnalyzer 中只可以附加一個全域提示,而且非全域提示不能重疊。如需提示可提供之各種內容資訊的詳細資訊,請參閱 AnalysisHintNode 的成員頁面。
若要將提示加入至 InkAnalyzer,請使用 InkAnalyzer.CreateAnalysisHint。若要從 InkAnalyzer 移除提示,請使用 InkAnalyzerDeleteAnalysisHint()。
![]() |
---|
在 InkAnalyzer 中加入提示並不會變更 InkAnalyzer 物件的 DirtyRegion。若要讓 InkAnalyzer 重新分析提示區域內的筆墨,請使用 DirtyRegion 物件的 Union(AnalysisRegion) 方法。 |
如果呼叫 Analyze 或 BackgroundAnalyze() 方法,InkAnalyzer 會更新提示的 Links 屬性。InkAnalyzer 會在 AnalysisHintNode 以及套用提示的每個 ContextNode 之間加入 ContextLink。如果提示套用於 ContextNode 的所有子代 (Descendant),則 InkAnalyzer 只會將提示連結至該 ContextNode,而不會連結至其任何子代。
AnalysisHintNode 的 Location 屬性無法用來將提示套用至自訂辨識器節點。如果建立提示並設定其位置來加入 CustomRecognizerNode 中的筆劃,就無法將提示套用至那些筆劃。若要正確地將提示套用至自訂辨識器節點內的筆劃,請在呼叫 Analyze 之前先建立 AnalysisHintNode 和 CustomRecognizerNode 之間的連結。舉例來說,假設有一個名為 theAnalysisHint 的 AnalysisHintNode 和一個名為 theCustomRecognizerNode 的 CustomRecognizerNode。為了建立這兩者之間的連結,請使用 theAnalysisHint.Links.Add(theCustomRecognizerNode, ContextLinkDirection.LinksWith)。
只有一個非全域提示可以套用至 CustomRecognizerNode。為了從 CustomRecognizerNode 移除非全域提示,請使用 ContextLinkCollectionRemove() 從 CustomRecognizerNode 的 Links 屬性移除連結。
如果已將非空白區域的非全域提示套用至 CustomRecognizerNode,則 InkAnalyzer 會將提示的內容同時套用至 CustomRecognizerNode 和提示區域內的筆墨。
執行分析時,不會建立或刪除 AnalysisHintNode 與 CustomRecognizerNode 之間的連結。
如果在表單應用程式中使用提示,請避免混合文字內容與筆墨。提示會使筆墨和頁面上的區域產生關聯,而任何文字內容都會妨礙這個筆墨與提示之間的關聯。因此,不應該在分析樹狀結構中建立文字欄位名稱。否則,分析作業可能會合併同一個書寫區域內的筆墨和文字內容,而使筆墨無法和提示區域產生關聯。
範例
這個範例會為 InkAnalyzer (名為 theInkAnalyzerWithHint) 建立 AnalysisHintNode (名為 theAnalysisHint),並且將 theAnalysisHint 的區域變成無限區域,使其變成全域提示。然後在提示上設定 AllowPartialDictionaryTerms 和 Name 屬性。
' 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";
繼承階層架構
System.Object
System.Windows.Ink.ContextNode
System.Windows.Ink.AnalysisHintNode
執行緒安全
這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。並非所有的執行個體成員都是安全執行緒。
平台
Windows Vista
.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求。
版本資訊
.NET Framework
支援版本:3.0
請參閱
參考
System.Windows.Ink.ContextLink