public void InitFolderTree() { tvwLibraryFolders.BeginInit(); tvwLibraryFolders.Items.Clear(); tabMain.Cursor = Cursors.Wait; string[] vfs = Directory.GetFiles(ApplicationPaths.AppInitialDirPath,"*.vf"); foreach (string vfName in vfs) { TreeViewItem dummyNode = new TreeViewItem(); dummyNode.Header = new DummyTreeItem(); TreeViewItem aNode = new TreeViewItem(); LibraryFolder aFolder = new LibraryFolder(vfName); aNode.Header = aFolder; aNode.Items.Add(dummyNode); tvwLibraryFolders.Items.Add(aNode); } tvwLibraryFolders.EndInit(); tabMain.Cursor = Cursors.Arrow; }
TreeViewItem addLibraryFolderNode(TreeViewItem parent, string dir) { if (parent.Dispatcher.CheckAccess()) { TreeViewItem aNode = new TreeViewItem(); LibraryFolder aFolder = new LibraryFolder(dir); aNode.Header = aFolder; parent.Items.Add(aNode); return aNode; } else { parent.Dispatcher.Invoke(new AddLibraryFolderCB(this.addLibraryFolderNode), parent, dir); return null; } }