Можно ли переключить меню с клавиатуры? - PullRequest
0 голосов
/ 01 июня 2009

Я создаю приложение на приборной панели для специального оборудования, физические кнопки которого связаны с F1-F10, Вверх, Вниз, Backspace, Enter. Приложение состоит из нескольких представлений (реализованных с использованием шаблона MVVM), и большая часть взаимодействия с пользователем осуществляется с помощью меню, которые расположены рядом с физическими кнопками. Я пытаюсь переключить состояние меню, нажимая F-клавиши, но я просто не могу заставить эту чертову штуку работать!

Я (успешно, вроде) попробовал альтернативное решение, которое ловит F-клавиши и отправляет их как обычные числа 1-10 и отображает Alt + [1-10] в меню, используя Accesskey. Это не оптимальное решение, поскольку я должен следить за тем, не теряет ли меню фокус (пользователь также может перемещаться с сенсорным экраном). Кроме того, я также попытался скрыть текст ключа доступа от заголовка menuitem (так как просто невозможно сделать его невидимым).

1 Ответ

0 голосов
/ 03 июня 2009

Честно говоря, я просто сделал бы обычное окно и скрыл / отобразил бы его соответствующим образом - просто имел бы ItemsControl, DataTemplate которого является MenuItem. Управление меню осуществляется стандартным способом «меню», поэтому его будет сложно переопределить и вручную управлять скрытым / показанным состоянием.

...