private void btnFile_Drop(object sender, DragEventArgs e) { if (!currentlyRenaming) { string[] fileNames = e.Data.GetData(DataFormats.FileDrop) as string[]; if (e.Data.GetDataPresent(typeof(SystemFile))) { SystemFile dropData = e.Data.GetData(typeof(SystemFile)) as SystemFile; fileNames = new string[] { dropData.FullName }; } if (fileNames != null) { if (file.IsDirectory) { SystemDirectory destDirectory = new SystemDirectory(file.FullName, Dispatcher); if (isDropMove) { destDirectory.MoveInto(fileNames); } else { destDirectory.CopyInto(fileNames); } } else { if (isDropMove) { file.ParentDirectory?.MoveInto(fileNames); } else { file.ParentDirectory?.CopyInto(fileNames); } } e.Handled = true; } } }