Example #1
0
        //
        // Given a parent TreeViewItem, FTPFolder, and an expand flag, draws the children folders
        // in your directory structure
        //
        private void DrawChildTreeItems(TreeViewItem parentTree, FTPFolder folder, bool expand)
        {
            List<string> childPaths = GetDirectories(folder.GetPath());
            List<TreeViewItem> treeViewItemList = new List<TreeViewItem>();

            foreach (string t in childPaths) {
                if (folderNameToTreeItem.ContainsKey(t)) {
                    continue;
                }
                else {
                    TreeViewItem tv = new TreeViewItem();
                    FTPFolder newFolder = new FTPFolder(t, SafeFolderName(t));

                    DockPanel dock = new DockPanel();
                    dock.MouseUp += new MouseButtonEventHandler(TreeViewMouseDown);

                    TextBlock textContent = new TextBlock();
                    textContent.Text = newFolder.GetName();

                    dock.Children.Add(GetImage(false));
                    dock.Children.Add(textContent);
                    dockPanelContent.Add(dock, newFolder.GetPath());

                    treeViewItemList.Add(tv);

                    tv.Header = dock;
                    parentTree.Items.Add(tv);

                    folderNameToTreeItem.Add(t, tv);
                    treeItemToFolderName.Add(tv, t);

                    if (expand) {
                        parentTree.IsExpanded = true;
                    }
                    else {
                        parentTree.IsExpanded = false;
                    }
                }
            }
        }