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 的所有后代,则 InkAnalyzer 只会将此提示链接到该 ContextNode,而不会链接到它的任何后代。

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

只有一个非全局提示可应用于 CustomRecognizerNode。若要为 CustomRecognizerNode 移除非全局提示,请使用 ContextLinkCollectionRemove() 从 CustomRecognizerNodeLinks 属性移除链接。

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

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

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

示例

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

' 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

线程安全

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

平台

Windows Vista

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

版本信息

.NET Framework

受以下版本支持:3.0

另请参见

参考

AnalysisHintNode 成员

System.Windows.Ink 命名空间

System.Windows.Ink.ContextLink

System.Windows.Ink.AnalysisRegion

System.Windows.Ink.InkAnalyzer