private void RenameBtn_Click(object sender, RoutedEventArgs e) { try { if (((MenuItem)e.OriginalSource).Name == "lDeleteBtn") { if (LeftList.SelectedItems.Count == 1) { RenameWindow win = new RenameWindow(); win.Owner = this; win.ShowDialog(); if (win.DialogResult == true) { FileSystemInfo target = (FileSystemInfo)((ListViewItem)LeftList.SelectedItem).Tag; RenameEvent renameEvent = new RenameEvent(target, win.NewName.Text); logger.fileChanges.Push(renameEvent); renameEvent.InvokeEvent(); } LeftList.Items.Clear(); ShowFiles(lDirectory, LeftList, lDirInfo); } else { throw new Exception("Only one file or directory need to be selected"); } } else { if (RightList.SelectedItems.Count == 1) { RenameWindow win = new RenameWindow(); win.Owner = this; win.ShowDialog(); if (win.DialogResult == true) { FileSystemInfo target = (FileSystemInfo)((ListViewItem)RightList.SelectedItem).Tag; RenameEvent renameEvent = new RenameEvent(target, win.NewName.Text); logger.fileChanges.Push(renameEvent); renameEvent.InvokeEvent(); } RightList.Items.Clear(); ShowFiles(rDirectory, RightList, rDirInfo); } else { throw new Exception("Only one file or directory need to be selected"); } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Unable to invoke RenameEvent", MessageBoxButton.OK, MessageBoxImage.Error); } }