Я успешно использовал несколько пользовательских команд с использованием MVVM-Light, но хочу, чтобы мое приложение отвечало на стандартные ApplicationCommands, а не только на уровне Window, но и на уровне детализации.
У меня есть 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, т.е. в шаблонах данных?