Я успешно использовал несколько пользовательских команд с помощью MVVM-Light, но мне нужен Возможность реагировать на стандартные команды ApplicationCommands не только на уровне окна, но и на уровне подробных элементов.
У меня есть TreeView
, в который я хочу иметь возможность копировать и вставлять узлы. Каждый TreeViewItem имеет свою собственную ViewModel, и они отображаются через HierarchicalDataTemplates
в XAML, так как есть несколько разных типов. Я реализовал методы для копирования, вставки, а также CanCopy и CanPaste в своих классах ViewModel.Если возможно, я мог бы достаточно легко реализовать MVVM-Light RelayCommands, указывающие на них, но это не кажется правильным.
Я хотел бы получить доступ к командам с помощью меню, Ctrl + C и Ctrl + V или, возможно, контекстного меню. Я также не хочу нарушать функциональность копирования / вставки для других элементов в моем пользовательском интерфейсе, таких как TextBoxes. Представляется целесообразным использовать для этой цели встроенные ApplicationCommands. Однако я вижу только примеры того, как они обрабатываются в коде программной части UserControl. У меня нет (и не нужен) UserControl, и он не соответствует MVVM.
Есть ли способ привязать команды ApplicationCommand.Copy
и ApplicationCommand.Paste
к моим ViewModels, то есть в шаблонах данных?