public override string ContextMenu(Point pos) { return(_profile.ShowContextmenu(pos, SelectedModels.ToArray())); }
protected override void setupCommands() { base.setupCommands(); CopyCommand = new SimpleCommand() { CanExecuteDelegate = (x) => { return(SelectedViewModels != null && SelectedViewModels.Count > 0); }, ExecuteDelegate = (x) => { try { _profile.CopyToClipboard(SelectedModels.ToArray()); } catch (Exception ex) { new WPFMessageBoxService().ShowError(ex.Message); } } }; NewFolderCommand = new SimpleCommand() { CanExecuteDelegate = (x) => { return(!EmbeddedDirectoryViewModel.EmbeddedDirectoryModel.IsReadonly); }, ExecuteDelegate = (x) => { try { NewFolder("New Folder", x as string); } catch (Exception ex) { new WPFMessageBoxService().ShowError(ex.Message); } } }; PasteCommand = new SimpleCommand() { CanExecuteDelegate = (x) => { return(System.Windows.Clipboard.ContainsFileDropList() && EmbeddedDirectoryViewModel.EmbeddedDirectoryModel.IsSupportAdd); }, ExecuteDelegate = (x) => { try { _profile.PasteFromClipboard(EmbeddedDirectoryViewModel.EmbeddedDirectoryModel); } catch (Exception ex) { new WPFMessageBoxService().ShowError(ex.Message); } } }; DeleteCommand = new SimpleCommand() { CanExecuteDelegate = (x) => { if (SelectedViewModels != null && SelectedViewModels.Count > 0) { foreach (var vm in SelectedViewModels) { if (vm.EmbeddedModel.IsReadonly) { return(false); } } return(true); } return(false); }, ExecuteDelegate = (x) => { try { string caption = String.Format(Texts.strConfirmDelete, SelectedViewModels.Count, SelectedViewModels.Count > 1 ? "s" : ""); if (new WPFMessageBoxService().ShowYesNo(caption, CustomDialogIcons.Question) == CustomDialogResults.Yes) { _profile.Delete(SelectedModels.ToArray(), EmbeddedDirectoryViewModel.EmbeddedDirectoryModel); } } catch (Exception ex) { new WPFMessageBoxService().ShowError(ex.Message); } } }; PropertiesCommand = new SimpleCommand() { CanExecuteDelegate = x => { return(SelectedModels != null && SelectedModels.Count > 0); }, ExecuteDelegate = x => { System.Windows.Point position = Mouse.GetPosition(null); _profile.ShowProperties(position, SelectedModels.ToArray()); } }; SelectAllCommand = new SimpleCommand() { ExecuteDelegate = (x) => { if (SelectedViewModels == null || SelectedViewModels.Count < EmbeddedDirectoryViewModel.SubDirectories.Count) { foreach (var item in EmbeddedDirectoryViewModel.SubEntries) { item.IsSelected = true; } SelectedViewModels = new List <EntryViewModel <FI, DI, FSI> >(from vm in EmbeddedDirectoryViewModel.SubEntries select vm); } else { foreach (var item in EmbeddedDirectoryViewModel.SubEntries) { item.IsSelected = false; } SelectedViewModels = new List <EntryViewModel <FI, DI, FSI> >(); } } }; }