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); } }
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); } } }
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; } }