Вход в меню только с помощью клавиши Alt - PullRequest
1 голос
/ 19 февраля 2012

Мне нужно решить, как войти в меню, только нажав клавишу Alt в моем приложении WPF.Дело в том, что я могу попасть в меню, нажав Tab .И я не хочу этого.Я хотел бы остаться только во "вкладке" / сетке, в которой я нахожусь. Я попытался решить ее, установив свойства Focusable и IsTabStopТак или иначе, это не работает.Я могу войти в меню, но затем не могу перейти к следующему пункту или вообще не могу вставить меню.Есть идеи как это решить?Я надеюсь, что есть простое и элегантное решение, которого я не вижу.

1 Ответ

2 голосов
/ 20 февраля 2012

Вы можете динамически изменять свойство IsTabStop.Это сработало довольно хорошо:

    public MainWindow() {
        InitializeComponent();
        enableMenuTabs(false);
        menu1.PreviewGotKeyboardFocus += delegate { enableMenuTabs(true); };
        menu1.PreviewLostKeyboardFocus += delegate { enableMenuTabs(false); };
    }

    private void enableMenuTabs(bool enable) {
        foreach (Control item in menu1.Items) item.IsTabStop = enable;
    }
...