private void FilesList_DragLeave(object sender, DragEventArgs e) { if (insertAdorner != null) { AdornerLayer.GetAdornerLayer(FilesList).Remove(insertAdorner); insertAdorner = null; } }
private void FilesList_DragEnter(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop) || e.Data.GetDataPresent(typeof(VideoFile[]))) { insertAdorner = new ListViewInsertMarkAdorner(FilesList); AdornerLayer.GetAdornerLayer(FilesList).Add(insertAdorner); } }
private async void FilesList_Drop(object sender, DragEventArgs e) { if (insertAdorner != null) { GetBeforeAndGroup(e.GetPosition(FilesList), out var before, out var groupIndex); if (e.Data.GetDataPresent(DataFormats.FileDrop)) { var files = (string[])e.Data.GetData(DataFormats.FileDrop); await AddFiles(files, before, groupIndex); } else if (e.Data.GetDataPresent(typeof(VideoFile[]))) { var files = (VideoFile[])e.Data.GetData(typeof(VideoFile[])); MoveFiles(files, before, groupIndex); } AdornerLayer.GetAdornerLayer(FilesList).Remove(insertAdorner); insertAdorner = null; } }