private void TryMoveItem(IActionable a, Directory newParent) { var newLocation = Utils.CreateActionableFromPath(new PathStr(newParent.Path.NavigateIn(a.Name))); if (newLocation.Exists()) { var type = a.GetType().Name.ToLower(); MessageBoxResult r = MessageBox.Show(string.Format("There is already an {0} with the same name at the specified destination. Tap OK to overwrite the existing {0}, or Cancel to skip this item.", type), a.DisplayName, MessageBoxButton.OKCancel); if (r != MessageBoxResult.OK) return; newLocation.Delete(true); } try { a.Move(newParent); } catch (Exception ex) { return; } }