AnalysisHintNode 类

InkAnalyzer 提供关于某个区域的分析提示。

命名空间:  Microsoft.Ink
程序集:  Microsoft.Ink.Analysis(在 Microsoft.Ink.Analysis.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 提供关于某个特定区域(提示的 Location)的提示。该提示为墨迹分析器提供额外的上下文以提高识别的准确性。InkAnalyzer 在分析提示区域中的墨迹时将会应用此上下文信息。

如果为某个提示分配了无限区域(称为全局提示),InkAnalyzer 则会将该提示的上下文应用于不在其他提示的区域内的所有墨迹。允许将多个提示附加到一个 InkAnalyzer。但是,只有一个全局提示可以附加到一个 InkAnalyzer,并且任何非全局提示均不可重叠。有关提示可以提供的上下文信息类型的更多信息,请参见此类的成员。

若要为 InkAnalyzer 添加提示,请使用 InkAnalyzer.CreateAnalysisHint。若要为 InkAnalyzer 移除提示,请使用 DeleteAnalysisHint

备注

InkAnalyzer 添加提示不会更改 InkAnalyzer 对象的 DirtyRegion。若要让 InkAnalyzer 重新分析提示区域内的墨迹,请使用 DirtyRegion 对象的 Union(AnalysisRegion) 方法。

每次调用 AnalyzeBackgroundAnalyze 方法时,InkAnalyzer 都会更新提示的 Links 属性。InkAnalyzer 在 AnalysisHintNode 和提示所应用到的每个 ContextNode 之间添加一个 ContextLink。如果某个提示应用于某个 ContextNode 的所有后代,则 InkAnalyzer 只会将此提示链接到该 ContextNode,而不会链接到它的任何后代。

AnalysisHintNode 的 Location 属性不会用于将提示应用于自定义识别器节点。如果创建了某个提示,并且设置此提示的位置以包含 CustomRecognizerNode 中的笔画,则该提示将不会应用于这些笔画。若要将提示正确应用于自定义识别器节点中的笔画,请在调用 Analyze 之前,在 AnalysisHintNode 和 CustomRecognizerNode 之间创建链接。例如,假设有一个名为 theAnalysisHint 的 AnalysisHintNode 和一个名为 theCustomRecognizerNode 的 CustomRecognizerNode。若要在两者之间创建链接,请使用 theAnalysisHint.Links.Add(theCustomRecognizerNode, ContextLinkDirection.LinksWith)。

只可以对 CustomRecognizerNode 应用一个非全局提示。若要为 CustomRecognizerNode 移除非全局提示,请使用 RemoveCustomRecognizerNodeLinks 属性移除链接。

如果将非空区域的非全局提示应用于 CustomRecognizerNode,则 InkAnalyzer 会将提示的上下文应用于 CustomRecognizerNode 以及提示区域中的墨迹。

分析器不会创建也不会删除从 AnalysisHintNode 到 CustomRecognizerNode 的任何链接。

为窗体应用程序使用提示的时候,应用程序应当避免混合文本上下文与窗体内的墨迹。这意味着,例如,在分析树中不应创建文本字段名称。提示应当在墨迹与页面中的不同区域建立关联;任何文本上下文均会干扰这种墨迹与提示之间的关联。分析操作可能会合并同一个书写区域中的墨迹与文本上下文,从而可能会阻碍墨迹与提示区域之间建立关联。

示例

此示例为 InkAnalyzer (theInkAnalyzerWithHint) 创建 AnalysisHintNode (theAnalysisHint),并通过将 theAnalysisHint 的区域设为无限区域而使之成为全局提示。然后设置提示的 AllowPartialDictionaryTermsName 属性。

' 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";

继承层次结构

System.Object
  Microsoft.Ink.ContextNode
    Microsoft.Ink.AnalysisHintNode

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

平台

Windows Vista

.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

版本信息

.NET Framework

受以下版本支持:3.0

另请参见

参考

AnalysisHintNode 成员

Microsoft.Ink 命名空间

Microsoft.Ink.ContextLink

Microsoft.Ink.AnalysisRegion

Microsoft.Ink.InkAnalyzer