private async void HandleDropActionAsync(IDropInfo dropInfo, IList fileOrDirDropList) { if (this.FileSearchWorker.CanStartSearch()) { var files = await this.FileSearchWorker.StartSearchAsync(fileOrDirDropList); var currentFilesCollView = this.FirstSimplePlaylistFiles as ICollectionView; if (currentFilesCollView == null) { var filesColl = new PlayListObservableCollection(files); var filesCollView = CollectionViewSource.GetDefaultView(filesColl); this.FirstSimplePlaylistFiles = filesCollView; ((ICollectionView)this.FirstSimplePlaylistFiles).MoveCurrentTo(null); } else { var insertIndex = dropInfo.InsertIndex; var destinationList = DefaultDropHandler.GetList(dropInfo.TargetCollection); foreach (var o in files) { destinationList.Insert(insertIndex++, o); } var mediaFiles = destinationList.OfType <IMediaFile>();//.ToList(); this.ResetPlayListIndices(mediaFiles); } } }
private async Task HandleDropActionAsync(IDropInfo dropInfo, IList fileOrDirDropList) { if (!this.FileSearchWorker.IsWorking) { var files = await this.FileSearchWorker.StartSearchAsync(fileOrDirDropList); var currentFilesCollView = this.FirstSimplePlaylistFiles as ICollectionView; if (currentFilesCollView == null) { var filesColl = new PlayListCollection(files); var filesCollView = CollectionViewSource.GetDefaultView(filesColl); this.FirstSimplePlaylistFiles = filesCollView; ((ICollectionView)this.FirstSimplePlaylistFiles).MoveCurrentTo(null); } else { var insertIndex = dropInfo.InsertIndex; var destinationList = (QuickFillObservableCollection <IMediaFile>)DefaultDropHandler.GetList(dropInfo.TargetCollection); destinationList.AddItems(files, insertIndex); } } }