void treeView1_BeforeExpand(object sender, TreeViewCancelEventArgs e) { var node = (VvTreeNode)e.Node; if (node.GetNodeCount(true) == 1) { VvTreeNode childnode = (VvTreeNode)node.Nodes[0]; //if node has an empty ID it has not been initialized if (Guid.Empty.Equals(childnode.NodeID)) { node.Nodes.Remove(childnode); Guid folderID = node.NodeID; VVRuntime.VisualVault.Library.Folders.FolderCollection folderCollection = _vault.DefaultStore.Library.GetChildFolders(folderID); foreach (VVRuntime.VisualVault.Library.Folders.Folder folder in folderCollection) { VvTreeNode newnode = new VvTreeNode(folder.FolderID, folder.Name); newnode.Nodes.Add(new VvTreeNode(Guid.Empty, "")); node.Nodes.Add(newnode); } } } }
private void InitializeTreeview() { if (_vault != null) { var folderCollection = _vault.DefaultStore.Library.GetTopLevelFolders(); VvTreeNode node; foreach (VVRuntime.VisualVault.Library.Folders.Folder folder in folderCollection) { node = new VvTreeNode(folder.FolderID, folder.Name); node.Nodes.Add(new VvTreeNode(Guid.Empty, "")); treeView1.Nodes.Add(node); } if (treeView1.GetNodeCount(false) > 0) { node = (VvTreeNode)treeView1.Nodes[0]; //select the first folder in the tree if (node != null) { treeView1.SelectedNode = node; _selectedFolderID = _vault.DefaultStore.Library.GetFolder(node.NodeID).FolderID; } } } }