WPF 菜单选项卡导航

标签 wpf keyboard-navigation

我有一个带有菜单的 View :

<Menu IsTabStop="False">
    <MenuItem
        Header="_File"
        IsTabStop="True">
        <MenuItem
            Header="New / Start Over"
            IsTabStop="True"
            InputGestureText="Ctrl+N"
            Command="{x:Static common:Commands.StartOverCommand}" />
        <Separator
            IsTabStop="False" />
        <MenuItem
            Header="Log Out"
            IsTabStop="True"
            InputGestureText="F12"
            Click="LogoutMenuItem_Click" />
        <MenuItem
            Header="E_xit"
            IsTabStop="True"
            InputGestureText="Alt+F4"
            Click="ExitMenuItem_Click" />
    </MenuItem>
    <MenuItem
        Header="_Edit"
        IsTabStop="True">
        <MenuItem
            Header="Undo Edit Field"
            IsTabStop="True"
            InputGestureText="Ctrl+Z"
            Click="_undoMenuItem_Click" />
        <MenuItem
            Header="Redo Edit Field"
            IsTabStop="True"
            InputGestureText="Ctrl+Y"
            Click="_redoMenuItem_Click" />
    </MenuItem>
    <MenuItem
        Header="_Tools"
        IsTabStop="True">
        <MenuItem
            Header="Comments"
            IsTabStop="True"
            InputGestureText="Ctrl+M"
            Click="_commentsMenuItem_Click" />
    </MenuItem>
</Menu>

我希望能够使用左右箭头键浏览菜单(文件、编辑、工具),我可以通过设置这些 MenuItems IsTabStop="True".但自从我这样做以来,我可以在循环浏览页面上的其他有效字段时通过选项卡切换到菜单。当我使用 Alt+F 将焦点放在"file"菜单上时,我希望能够使用箭头键循环浏览 3 个菜单,但我不希望能够从页面切换到这些菜单。我该如何实现这个目标?

最佳答案

使用KeyboardNavigation.TabNavigation Attached PropertyKeyboardNavigationMode.None在菜单上。

<Menu KeyboardNavigation.TabNavigation="None">

关于WPF 菜单选项卡导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10216980/

相关文章:

javascript - 使用 jquery 的菜单键盘导航

javascript - 使用 jQuery 进行上/下/左/右键盘导航?

javascript - 是 tabIndex : 0 in links considered a good practice in order to avoid href ="javascript: void(0);"?

c# - 数据绑定(bind)到 EF 实体或 ViewModel

c# - 如何从另一个类访问变量以更新我的 ViewModel

wpf - 在WPF应用中存储数据的最佳方法

c# - 在 WPF 中指定自定义窗口的默认外观?

c# - 自定义控件上的 AutomationProperties.AutomationId 未公开

wpf - DataGrid 选项卡导航跳过列