Пример #1
0
 private void FilesList_DragLeave(object sender, DragEventArgs e)
 {
     if (insertAdorner != null)
     {
         AdornerLayer.GetAdornerLayer(FilesList).Remove(insertAdorner);
         insertAdorner = null;
     }
 }
Пример #2
0
 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);
     }
 }
Пример #3
0
        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;
            }
        }