WPF菜单选项卡导航

时间:2012-04-18 19:54:54

标签: wpf keyboard-navigation

我有一个菜单视图:

<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将焦点放在文件菜单上时,我希望能够使用箭头键在3个菜单中循环,但我不希望能够从页面中选择这些菜单。我该如何做到这一点?

1 个答案:

答案 0 :(得分:3)

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

<Menu KeyboardNavigation.TabNavigation="None">