private void recursiveBuildTree(Guqu.Models.SupportClasses.TreeNode treeRoot, MenuItem xamlRoot) { foreach (Guqu.Models.SupportClasses.TreeNode child in treeRoot.getChildren()) { MenuItem currNode = new MenuItem() { Title = treeRoot.getCommonDescriptor().FileName, ID = treeRoot.getCommonDescriptor().FileID }; recursiveBuildTree(child, currNode); currNode.Items.Add(new MenuItem() { Title = child.getCommonDescriptor().FileName, ID = treeRoot.getCommonDescriptor().FileID }); xamlRoot.Items.Add(currNode); } }
//call when a click is detected on the file hierarchy private void folderDisplay(Models.SupportClasses.TreeNode node, String fileID) { if (node.getCommonDescriptor() != null) { if (node.getCommonDescriptor().FileID.Equals(fileID)) { //get list of children nodes convert to a list of common discriptors and populate listView LinkedList <Models.SupportClasses.TreeNode> children = node.getChildren(); List <CommonDescriptor> disp = new List <CommonDescriptor>(); selectedHierarchyFolder = node; foreach (var item in children) { disp.Add(item.getCommonDescriptor()); } populateListView(disp); } } }
private MenuItem populateMenuItem(MenuItem root, Models.SupportClasses.TreeNode node, List <Models.SupportClasses.TreeNode> folders) { MenuItem newFolder; foreach (var ele in node.getChildren()) { if (ele.getCommonDescriptor().FileType.Equals("folder")) { newFolder = new MenuItem() { Title = ele.getCommonDescriptor().FileName, ID = ele.getCommonDescriptor().FileID }; folders.Add(ele); newFolder.Click = new RoutedEventHandler(item_Click); root.Items.Add(populateMenuItem(newFolder, ele, folders)); } else { //root.Items.Add(new MenuItem() { Title = ele.getCommonDescriptor().FileName }); } } return(root); }