Горячие клавиши в TreeView

237
23 августа 2017, 14:37

Есть TreeView, к которому биндятся команды копирования/вставки/удаления узлов с горячими клавишами.

<TreeView>
    <TreeView.InputBindings>
        <KeyBinding Modifiers="Control" Key="C" 
                    Command="{Binding CopyCommand}"/>
        <KeyBinding Modifiers="Control" Key="V" 
                    Command="{Binding PasteCommand}"/>
        <KeyBinding Modifiers="Control" Key="X" 
                    Command="{Binding CutCommand}"/>
        <KeyBinding Key="Delete" 
                    Command="{Binding DeleteCommand}"/>
    </TreeView.InputBindings>
</TreeView>

Проблема в том, что команды вызываются только если выделить какой-нибудь узел в дереве.

К примеру, если я выделю узел и вырежу его, то так как не будет фокуса на другом узле, команда вставки не сработает и нужно будет перед вставкой выделять другой узел.

Если биндить команды уровням выше, например на окно, то все работает, но нужно, чтобы команды срабатывали только когда идет работа в TreeView.

Что делать?

READ ALSO
Как правильно обновить данные

Как правильно обновить данные

Создал глобальное соединение с БДДалее пытаюсь добавить данные:

163
Как плавно развернуться лицом к врагу

Как плавно развернуться лицом к врагу

ЗдравствуйтеНе так давно я начал изучать Unity3d

851
Вопрос про ссылочные типы данных

Вопрос про ссылочные типы данных

Если string является ссылочным типом, как и class, то почему у str1 и str2 разные значения? По идее обе переменных должны ссылаться на одну и ту же область...

227