Partager via


ContextNodeBase.SubNodes, propriété

Mise à jour : November 2007

Obtient l'enfant direct de l'objet ContextNodeBase.

Espace de noms :  System.Windows.Ink.AnalysisCore
Assembly :  IACore (dans IACore.dll)

Syntaxe

'Déclaration
Public ReadOnly Property SubNodes As ContextNodeBaseCollection
'Utilisation
Dim instance As ContextNodeBase
Dim value As ContextNodeBaseCollection

value = instance.SubNodes
public ContextNodeBaseCollection SubNodes { get; }
public:
property ContextNodeBaseCollection^ SubNodes {
    ContextNodeBaseCollection^ get ();
}
/** @property */
public ContextNodeBaseCollection get_SubNodes()
public function get SubNodes () : ContextNodeBaseCollection

Valeur de propriété

Type : System.Windows.Ink.AnalysisCore.ContextNodeBaseCollection
Enfant direct de l'objet ContextNodeBase.

Notes

Ne retourne pas tous les descendants, mais uniquement les enfants directs.

Exemples

Cet exemple est une méthode qui parcourt de manière récursive une arborescence d'objets ContextNodeBase. Il utilise la propriété SubNodes et remplit un System.Windows.Forms.TreeView (page pouvant être en anglais) en ajoutant des objets TreeNode (page pouvant être en anglais). Il affecte ensuite à leur propriété Text la valeur ToString, en ajoutant le nom de chaîne ou de forme reconnu, le cas échéant.

Private Sub WalkTree(ByVal parentContextNode As ContextNodeBase, ByVal parentTreeNode As TreeNode)

    Dim cNode As ContextNodeBase

    For Each cNode In parentContextNode.SubNodes

        Dim newTNode As New TreeNode(cNode.ToString())

        If cNode.Type = System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.InkWord AndAlso _
           cNode.ContainsPropertyData(PropertyGuidsForContextNodesBase.RecognizedString) Then

            newTNode.Text = newTNode.Text + _
                ": " + CType(cNode.GetPropertyData(PropertyGuidsForContextNodesBase.RecognizedString), _
                String)

        ElseIf cNode.Type = System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.InkDrawing AndAlso _
               cNode.ContainsPropertyData(PropertyGuidsForContextNodesBase.ShapeName) Then

            Dim shapeName As String = CType(cNode.GetPropertyData(PropertyGuidsForContextNodesBase.ShapeName), _
                String)

            If shapeName <> "" Then
                newTNode.Text = newTNode.Text + ": " + shapeName
            End If

        End If

        WalkTree(cNode, newTNode)
        parentTreeNode.Nodes.Add(newTNode)

        ' Add the context node as a tag of the tree node
        newTNode.Tag = cNode
    Next cNode

End Sub 'WalkTree
private void WalkTree(
    System.Windows.Ink.AnalysisCore.ContextNodeBase parentContextNode, TreeNode parentTreeNode)
{
    foreach (ContextNodeBase cNode in parentContextNode.SubNodes)
    {
        TreeNode newTNode = new TreeNode(cNode.ToString());
        if ((cNode.Type == System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.InkWord) &&
             cNode.ContainsPropertyData(PropertyGuidsForContextNodesBase.RecognizedString))
        {
            // Get the recognized string
            newTNode.Text += ": " +
                (string)cNode.GetPropertyData(PropertyGuidsForContextNodesBase.RecognizedString);
        }
        else if ((cNode.Type == System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.InkDrawing) &&
                  cNode.ContainsPropertyData(PropertyGuidsForContextNodesBase.ShapeName))
        {
            newTNode.Text += ": " +
                (string)cNode.GetPropertyData(PropertyGuidsForContextNodesBase.ShapeName);
        }
        WalkTree(cNode, newTNode);
        parentTreeNode.Nodes.Add(newTNode);

        // Add the context node as a tag of the tree node
        newTNode.Tag = cNode;
    }
}

Plateformes

Windows Vista, Windows XP SP2, Windows Server 2003

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

Voir aussi

Référence

ContextNodeBase, classe

Membres ContextNodeBase

System.Windows.Ink.AnalysisCore, espace de noms

ContextNodeBase.SubNodes

ContextNodeBase.ParentNode