AnalysisHintNode 클래스
업데이트: 2007년 11월
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) 메서드를 사용합니다.
InkAnalyzer는 Analyze 또는 BackgroundAnalyze() 메서드가 호출된 경우 힌트의 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()를 사용하여 CustomRecognizerNode의 Links 속성에서 링크를 제거합니다.
비어 있지 않은 영역에 대한 전역이 아닌 힌트가 CustomRecognizerNode에 적용되면 InkAnalyzer는 힌트의 컨텍스트를 CustomRecognizerNode 및 힌트 영역 내의 잉크에 적용합니다.
분석이 수행될 때는 AnalysisHintNode에서 CustomRecognizerNode로의 링크가 만들어지거나 삭제되지 않습니다.
폼 응용 프로그램에 힌트를 사용할 때는 텍스트 컨텍스트와 잉크를 함께 사용하지 마십시오. 힌트는 잉크를 페이지의 영역에 연결하기 위한 것인데 텍스트 컨텍스트는 이러한 잉크와 힌트의 연결을 방해합니다. 따라서 텍스트 필드 이름을 분석 트리에 만들지 않아야 합니다. 이러한 이름이 있는 경우 분석 작업에서는 같은 쓰기 영역에서 잉크와 텍스트 컨텍스트가 병합되어 잉크가 힌트 영역과 연결되지 않습니다.
예제
이 예제에서는 theInkAnalyzerWithHint라는 InkAnalyzer에 대한 theAnalysisHint라는 AnalysisHintNode를 만들고 해당 영역을 무한 영역으로 만들어 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
스레드로부터의 안전성
이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.
플랫폼
Windows Vista
.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
3.0에서 지원
참고 항목
참조
System.Windows.Ink.ContextLink