Ejemplo n.º 1
0
        private async Task PasteAsync(IDataObject dataObject)
        {
            bool move;
            var  paths = dataObject.FromFileDropList(out move);

            conflictAction = FileConflictAction.None;

            var operations = paths
                             .Select(path => CopyOrMoveOperation(
                                         path,
                                         Path.Combine(Navigation.FullPath, Path.GetFileName(path)),
                                         move
                                         ))
                             .Where(o => o != null)
                             .ToArray();

            var dialog = new OperationProgressViewModel(operations)
            {
                Caption = $"{(move ? Properties.Resources.File_Moving : Properties.Resources.File_Copying)} {operations.Sum(o => o.Count)} files."
            };

            await Messenger.SendAsync(dialog);

            if (move && dialog.IsCancellationRequested == false)
            {
                ClipboardManager.Clear();
            }
        }