void onRenameFile(object sender, EventArgs e) { MenuItem item = sender as MenuItem; ContextMenu menu = item.CommandParameter as ContextMenu; FileBaseItem target = (menu.PlacementTarget as StackPanel).Tag as FileBaseItem; string newName = RenameDlg.Show(target.Name); if (newName.Length > 0) { try { string dir = System.IO.Path.GetDirectoryName(target.Path); File.Move(target.Path, System.IO.Path.Combine(dir, newName)); } catch (Exception ex) { ErrorHandler.inst().Error(ex); } } }
// 重命名记录 private void RenameRecord(object obj) { RenameDlg dlg = new RenameDlg(); RenameDlgViewModel viewModel = new RenameDlgViewModel(); viewModel.Title = "重命名"; viewModel.NewName = SelectedRecord.Name; dlg.DataContext = viewModel; dlg.ShowDialog(); if (!viewModel.IsCancel) { try { GlobalData.RenameRecord(SelectedRecord, viewModel.NewName); } catch (Exception e) { MsgBox.Show("重命名失败!\n" + e.Message); } } }