Esempio n. 1
0
        private void AddChildrenRecursive(ParseTreeNode node, TreeViewItem item, ICollection <TreeViewItem> rows)
        {
            item.children = new List <TreeViewItem>(node.Children.Length);
            foreach (var child in node.GetChildren(ParseTree))
            {
                var childItem = new TreeViewItem {
                    id = (int)child.Id, displayName = child.Name
                };

                item.AddChild(childItem);
                rows.Add(childItem);
                if (child.IsLeaf)
                {
                    continue;
                }
                if (IsExpanded(childItem.id))
                {
                    AddChildrenRecursive(ParseTree[child.Id], childItem, rows);
                }
                else
                {
                    childItem.children = CreateChildListForCollapsedParent();
                }
            }
        }