【发布时间】:2011-01-25 09:45:40
【问题描述】:
我刚刚清理了我的程序,当我遇到这种非常奇怪的行为时,我正在检查选项卡的工作方式。我的主菜单项包含在标签顺序中。觉得这很奇怪,我将它们的 IsTabStop 属性设置为 false,然后再次运行它。
它们不再在我的 Tab 键顺序中,但是当我按 ALT 激活菜单时,我无法再使用箭头键在项目之间导航。
有没有办法解决这个问题,让菜单像普通的老式菜单一样?
【问题讨论】:
我刚刚清理了我的程序,当我遇到这种非常奇怪的行为时,我正在检查选项卡的工作方式。我的主菜单项包含在标签顺序中。觉得这很奇怪,我将它们的 IsTabStop 属性设置为 false,然后再次运行它。
它们不再在我的 Tab 键顺序中,但是当我按 ALT 激活菜单时,我无法再使用箭头键在项目之间导航。
有没有办法解决这个问题,让菜单像普通的老式菜单一样?
【问题讨论】:
以下是使用KeyboardNavigation.TabNavigation 将菜单从标签顺序中排除的方法:
<DockPanel>
<Menu DockPanel.Dock="Top">
<MenuItem Header="_File">
<MenuItem Header="Open"/>
<MenuItem Header="E_xit"/>
</MenuItem>
</Menu>
<StackPanel KeyboardNavigation.TabNavigation="Cycle">
<TextBox Text=""/>
<TextBox Text=""/>
</StackPanel>
</DockPanel>
【讨论】: