Example #1
0
        private void ActionMoveCopyAction(FileAction action)
        {
            try
            {
                if (DroppedFiles != null)
                {
                    FileExplorerTreeItem item = (FileExplorerTreeItem)DroppedTreeviewItem.DataContext;
                    foreach (var file in DroppedFiles)
                    {
                        switch (action)
                        {
                        case FileAction.Copy:
                            File.Copy(file, Path.Combine(item.FullName, Path.GetFileName(file)));
                            break;

                        case FileAction.Move:
                            File.Move(file, Path.Combine(item.FullName, Path.GetFileName(file)));
                            break;
                        }
                    }
                    LoadTreeItems(ref item);
                    DroppedTreeviewItem = null;
                    DroppedFiles        = null;
                    FileActionSuccess?.Invoke(true, action);
                }
            }
            catch (Exception ex)
            {
                FileActionSuccess?.Invoke(false, action);
                MessageBox.Show(ex.Message, "An error occurred");
            }
        }
Example #2
0
        private void tvwExplorer_Expanded(object sender, RoutedEventArgs e)
        {
            FileExplorerTreeItem item = (e.OriginalSource as TreeViewItem).DataContext as FileExplorerTreeItem;

            if ((item.Items.Count == 1) && (item.Items[0].FullName == null))
            {
                LoadTreeItems(ref item);
            }
        }
Example #3
0
        public FileExplorerTree()
        {
            InitializeComponent();

            folderIconStream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("VenoMpie.Common.WPF.Controls.FileExplorer.Icons.folder.png");
            driveIconStream  = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("VenoMpie.Common.WPF.Controls.FileExplorer.Icons.drive.png");
            folderIcon       = BitmapHelpers.ConvertStreamToBitmapImage(folderIconStream);
            driveIcon        = BitmapHelpers.ConvertStreamToBitmapImage(driveIconStream);

            DriveInfo[] drives = DriveInfo.GetDrives();
            foreach (DriveInfo driveInfo in drives)
            {
                FileExplorerTreeItem fe = new FileExplorerTreeItem(driveInfo, driveIcon);
                fe.Items.Add(new FileExplorerTreeItem());
                myList.Add(fe);
            }

            tvwExplorer.ItemsSource = myList;
        }
Example #4
0
 private void LoadTreeItems(ref FileExplorerTreeItem item)
 {
     item.Items.Clear();
     try
     {
         foreach (DirectoryInfo subDir in new DirectoryInfo(item.FullName).GetDirectories())
         {
             FileExplorerTreeItem fe = new FileExplorerTreeItem(subDir, folderIcon);
             fe.Items.Add(new FileExplorerTreeItem());
             item.Items.Add(fe);
         }
         if (ShowFiles)
         {
             foreach (FileInfo subFile in new DirectoryInfo(item.FullName).GetFiles())
             {
                 item.Items.Add(new FileExplorerTreeItem(subFile));
             }
         }
     }
     catch { }
 }