Example #1
0
        private void InitTree()
        {
            for (int i = 0; i < 1; i++)
            {
                LeafNode child = new LeafNode()
                {
                    Data = "模板"
                };
                child.Children = new List <LeafNode>();
                roots.Add(child);
                ////10 children
                for (int j = 0; j < 3; j++)
                {
                    LeafNode subChild = new LeafNode()
                    {
                        Data = "模板" + j.ToString()
                    };
                    subChild.Children = new List <LeafNode>();
                    ////15 children
                    child.Children.Add(subChild);
                    for (int k = 0; k < 6; k++)
                    {
                        LeafNode gs = new LeafNode()
                        {
                            Data = "点" + k.ToString()
                        };
                        gs.Children = new List <LeafNode>();
                        subChild.Children.Add(gs);
                        for (int ki = 0; ki < 2; ki++)
                        {
                            LeafNode gss = new LeafNode()
                            {
                                Data = "x" + ki.ToString()
                            };
                            gs.Children.Add(gss);
                        }
                    }
                }
            }

            for (int i = 0; i < roots.Count; i++)
            {
                TreeViewItem item = new TreeViewItem();
                AddLeaf(item, roots[i]);  //call

                twLeaf.Items.Add(item);
            }
        }
Example #2
0
        private void AddLeaf(TreeViewItem twItem, LeafNode node)
        {
            if (node == null)
            {
                return;
            }

            twItem.Header = node.Data;

            if (node.Children != null && node.Children.Count > 0)
            {
                for (int i = 0; i < node.Children.Count; i++)
                {
                    TreeViewItem it = new TreeViewItem();
                    AddLeaf(it, node.Children[i]);
                    twItem.Items.Add(it);
                }
            }
        }
Example #3
0
        private void GetTreeviewNodes(LeafNode parentNode, TreeViewItem twItem)
        {
            LeafNode node = new LeafNode()
            {
                Data     = twItem.Header.ToString(),
                Children = new List <LeafNode>()
            };

            if (parentNode != null)
            {
                parentNode.Children.Add(node);

                //listv.Items.Add(parentNode.Data);
            }
            else
            {
                nodeList.Add(node);
            }

            if (twItem.Items.Count > 0)
            {
                for (int i = 0; i < twItem.Items.Count; i++)
                {
                    TreeViewItem item = twItem.Items[i] as TreeViewItem;
                    if (null != item)
                    {
                        GetTreeviewNodes(node, item);

                        //listv.Items.Add(item.Header.ToString());
                    }
                }
            }
            else
            {
                return;
            }
        }