AnalysisAlternate.AlternateNodes, propriété
Mise à jour : November 2007
Obtient les objets ContextNode qui sont associés au AnalysisAlternate actif.
Espace de noms : System.Windows.Ink
Assembly : IAWinFX (dans IAWinFX.dll)
Syntaxe
'Déclaration
Public ReadOnly Property AlternateNodes As ContextNodeCollection
'Utilisation
Dim instance As AnalysisAlternate
Dim value As ContextNodeCollection
value = instance.AlternateNodes
public ContextNodeCollection AlternateNodes { get; }
public:
property ContextNodeCollection^ AlternateNodes {
ContextNodeCollection^ get ();
}
/** @property */
public ContextNodeCollection get_AlternateNodes()
public function get AlternateNodes () : ContextNodeCollection
Valeur de propriété
Type : System.Windows.Ink.ContextNodeCollection
Objets ContextNode associés à cette proposition de substitution.
Notes
Puisqu'ils correspondent à des propositions de substitution, ces objets ContextNode ne sont pas descendants de la propriété RootNode du InkAnalyzer, à moins qu'ils ne constituent la meilleure proposition de substitution, qui correspond au premier élément d'un AnalysisAlternateCollection.
Les propriétés AlternateNodes retournent toujours une collection de nœuds terminaux. Par exemple, si le AnalysisAlternate() est un LineNode, la propriété AlternateNodes retourne une collection d'objets InkWordNode, et non d'objets LineNode.
Exemples
Cet exemple vérifie qu'un AnalysisAlternate, selectedAlternate, présente la même segmentation que la meilleure proposition de substitution dans un AnalysisAlternateCollection, currentAlternates. Par segmentation, on entend la manière dont les traits sont découpés en objets ContextNode.
Dim hasSameSegmentationAsTop As Boolean = True
If currentAlternates.Count > 0 Then
Dim topAlternate As AnalysisAlternate = currentAlternates(0)
' First check if selected alternate is the top alternate
If selectedAlternate = 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
Dim i As Integer
For i = 0 To topAlternate.AlternateNodes.Count - 1
If topAlternate.AlternateNodes(i).Strokes.Count <> _
selectedAlternate.AlternateNodes(i).Strokes.Count Then
hasSameSegmentationAsTop = False
Exit For
End If
Dim stroke As Stroke
For Each stroke In topAlternate.AlternateNodes(i).Strokes
If Not selectedAlternate.AlternateNodes(i).Strokes.Contains(stroke) Then
hasSameSegmentationAsTop = False
Exit For
End If
Next stroke
Next i
End If
End If
End If
bool hasSameSegmentationAsTop = true;
if (currentAlternates.Count > 0)
{
AnalysisAlternate 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) && hasSameSegmentationAsTop; i++)
{
if (topAlternate.AlternateNodes[i].Strokes.Count !=
selectedAlternate.AlternateNodes[i].Strokes.Count)
{
hasSameSegmentationAsTop = false;
break;
}
foreach (Stroke stroke in topAlternate.AlternateNodes[i].Strokes)
{
if (!selectedAlternate.AlternateNodes[i].Strokes.Contains(stroke))
{
hasSameSegmentationAsTop = false;
break;
}
}
}
}
}
}
Plateformes
Windows Vista
Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Informations de version
.NET Framework
Pris en charge dans : 3.0