AnalysisAlternateBase.AlternateNodes 속성
업데이트: 2007년 11월
이 대체 항목과 연결된 ContextNodeBase 개체를 가져옵니다.
네임스페이스: System.Windows.Ink.AnalysisCore
어셈블리: IACore(IACore.dll)
구문
‘선언
Public ReadOnly Property AlternateNodes As ContextNodeBaseCollection
‘사용 방법
Dim instance As AnalysisAlternateBase
Dim value As ContextNodeBaseCollection
value = instance.AlternateNodes
public ContextNodeBaseCollection AlternateNodes { get; }
public:
property ContextNodeBaseCollection^ AlternateNodes {
ContextNodeBaseCollection^ get ();
}
/** @property */
public ContextNodeBaseCollection get_AlternateNodes()
public function get AlternateNodes () : ContextNodeBaseCollection
속성 값
형식: System.Windows.Ink.AnalysisCore.ContextNodeBaseCollection
이 대체 항목과 연결된 ContextNodeBase 개체입니다.
설명
이 ContextNodeBase 개체는 대체 항목에 해당하기 때문에 AnalysisAlternateBaseCollection의 첫 번째 요소인 최상위 대체 항목이 아닌 경우 InkAnalyzerBase의 RootNode 하위 항목이 아닙니다.
예제
이 예제에서는 이름이 selectedAlternate인 AnalysisAlternateBase에 이름이 currentAlternates인 AnalysisAlternateBaseCollection의 최상위 대체 항목과 동일한 세그먼트가 있는지 확인합니다. 세그먼트는 스트로크가 ContextNodeBase 개체로 나뉘는 방법을 나타냅니다.
Dim hasSameSegmentationAsTop As Boolean = True
If currentAlternates.Count > 0 Then
Dim topAlternate As AnalysisAlternateBase = currentAlternates(0)
' First check if selected alternate is the top alternate
If selectedAlternate.Equals(topAlternate) Then
hasSameSegmentationAsTop = True
Else
' Check to see if they have the same strokes
If topAlternate.AlternateNodes.Count <> selectedAlternate.AlternateNodes.Count Then
hasSameSegmentationAsTop = False
Else
' Check that each node matches the alternates
For index As Integer = 0 To topAlternate.AlternateNodes.Count - 1
Dim selectedAlternateNodesStrokes As Strokes = _
theInk.CreateStrokes(selectedAlternate.AlternateNodes(index).GetStrokeIds())
Dim topAlternateNodesStrokes As Strokes = _
theInk.CreateStrokes(topAlternate.AlternateNodes(index).GetStrokeIds())
For Each topStroke As Stroke In topAlternateNodesStrokes
If (Not selectedAlternateNodesStrokes.Contains(topStroke)) Then
hasSameSegmentationAsTop = False
Exit For
End If
Next topStroke
Next index
End If
End If
End If
bool hasSameSegmentationAsTop = true;
if (currentAlternates.Count > 0)
{
AnalysisAlternateBase topAlternate = currentAlternates[0];
// First check if selected alternate is the top alternate
if (selectedAlternate == topAlternate)
{
hasSameSegmentationAsTop = true;
}
else
{
// Check to see if they have the same strokes
if (topAlternate.AlternateNodes.Count != selectedAlternate.AlternateNodes.Count)
{
hasSameSegmentationAsTop = false;
}
else
{
// Check that each node matches the alternates
for (int i = 0; i < topAlternate.AlternateNodes.Count; i++)
{
Strokes selectedAlternateNodesStrokes =
theInk.CreateStrokes(selectedAlternate.AlternateNodes[i].GetStrokeIds());
Strokes topAlternateNodesStrokes =
theInk.CreateStrokes(topAlternate.AlternateNodes[i].GetStrokeIds());
foreach (Stroke stroke in topAlternateNodesStrokes)
{
if (!selectedAlternateNodesStrokes.Contains(stroke))
{
hasSameSegmentationAsTop = false;
break;
}
}
}
}
}
}
플랫폼
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
3.0에서 지원