WPF菜单标签导航(WPF menu tab navigation)

2019-09-16 15:18发布

我有一个菜单视图:

<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个菜单使用箭头键上,但我不希望能够使用Tab键从页面这些菜单。 我将如何做到这一点?

Answer 1:

使用KeyboardNavigation.TabNavigation附加属性与KeyboardNavigationMode.None菜单上。

<Menu KeyboardNavigation.TabNavigation="None">


文章来源: WPF menu tab navigation