Example #1
0
        private TreeViewItem CreateTreeItem(Shell32.FolderItem folderItem)
        {
            if (folderItem == null)
            {
                throw new ArgumentNullException("folderItem");
            }

            TreeViewItem tvi = new TreeViewItem();

            //tvi.Header = folderItem.Name;
            tvi.Tag = folderItem;

            StackPanel panel = new StackPanel();

            panel.Orientation = Orientation.Horizontal;
            panel.Margin      = new Thickness(1);
            tvi.Header        = panel;

            Image image = new Image();

            image.Source = ExtractIcons.GetIcon(folderItem.Path, false, (folderItem.Type == "3½-Inch Floppy Disk" || folderItem.Type == "Floppy Disk Drive"));
            image.Margin = new Thickness(0, 0, 4, 0);

            TextBlock text = new TextBlock();

            text.VerticalAlignment = VerticalAlignment.Center;
            text.Text = folderItem.Name;

            panel.Children.Add(image);
            panel.Children.Add(text);

            return(tvi);
        }
Example #2
0
        private void ChangeIcon(TreeViewItem tvi, Boolean open)
        {
            Shell32.FolderItem folderItem = (Shell32.FolderItem)tvi.Tag;

            StackPanel panel = (StackPanel)tvi.Header;

            Image image = new Image();

            image.Source = ExtractIcons.GetIcon(folderItem.Path, open, false);
            image.Margin = new Thickness(0, 0, 4, 0);

            panel.Children.RemoveAt(0);
            panel.Children.Insert(0, image);
        }