Использование клавиатуры для отображения контекстного меню в привязанном к данным WPF TreeView - PullRequest
3 голосов
/ 19 декабря 2010

У меня есть DataBound (через HierachicTemplates) WPF TreeView, который отлично работает с мышью, но я хочу, чтобы он мог управлять им с клавиатуры. Я добавил CommandBindings, чтобы элементы ContextMenu могли выполняться с помощью «жестов»; например, CTRL + Удалить, чтобы удалить выбранный в данный момент элемент, но мне нужно, чтобы клавиша «Свойства» отображала контекстное меню и чтобы пользователь мог использовать клавиши курсора для навигации по нему.

Я создал CommandBinding и отладил его, но у RoutedUIEvent есть ContextMenu. Я попытался создать его из Xmal Resources, и это сработало, но оно явно не правильно, поскольку все отключено.

Как создать контекстное меню WPF, в котором можно перемещаться с помощью клавиатуры?

1 Ответ

2 голосов
/ 20 декабря 2010

Мне удалось отобразить ContextMenu элемента управления следующим образом:

  • прослушивание события KeyboardEvent (например, ключа свойства)
  • в обработчике, получите контроль (по имени или какому-либо методу)
  • когда у вас есть контроль, просто выполните: myControl.ContextMenu.IsOpen = true;

надеюсь, это поможет.

...