AnalysisAlternateBase.AlternateNodes-Eigenschaft
Ruft die ContextNodeBase-Objekte ab, die dieser Alternative zugeordnet sind.
Namespace: System.Windows.Ink.AnalysisCore
Assembly: IACore (in IACore.dll)
Syntax
'Declaration
Public ReadOnly Property AlternateNodes As ContextNodeBaseCollection
'Usage
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
Eigenschaftenwert
Typ: System.Windows.Ink.AnalysisCore.ContextNodeBaseCollection
Die ContextNodeBase-Objekte, die dieser Alternative zugeordnet sind.
Hinweise
Da sie Alternativen entsprechen, sind diese ContextNodeBase-Objekte keine Nachfolger von RootNode des InkAnalyzerBase, es sei denn, es handelt sich um die erste Alternative, die das erste Element in einer AnalysisAlternateBaseCollection ist.
Beispiele
In diesem Beispiel wird bestimmt, ob AnalysisAlternateBase mit dem Namen selectedAlternate die gleiche Segmentierung wie die erste Alternative in der AnalysisAlternateBaseCollection mit dem Namen currentAlternates hat. Die Segmentierung gibt an, wie die Striche in ContextNodeBase-Objekte unterteilt werden.
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;
}
}
}
}
}
}
Plattformen
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Versionsinformationen
.NET Framework
Unterstützt in: 3.0