我在我的应用程序中使用 Microsoft 的功能区控件。
我有一个带有相同类型子项的 RibbonApplicationMenuItem。功能区菜单的默认行为是,每当使用键盘打开子菜单时,默认情况下会选择(并突出显示)第一项。
我有两个带有子项的菜单项,如下面的代码所示。第一个菜单正确打开并突出显示第一项。但是第二个菜单在打开时不会突出显示第一个项目。唯一的区别是在第二个菜单中,我的第一项被禁用(IsEnabled=false)。所以我希望下一项(第二项)应该突出显示。但是不是:(。有人知道如何解决这个问题吗?
此外,最糟糕的是,我无法像使用第一个菜单那样使用向上/向下箭头键导航第二个菜单的子菜单。这很奇怪,在我看来就像 MS 实现中的一个错误。有没有人有任何想法!?
(这里的功能区是 Microsoft.Windows.Controls.Ribbon)
<ribbon:RibbonApplicationMenuItem Header="Options Group 1">
<ribbon:RibbonApplicationMenuItem Command="{x:Static viewmodel:commands.ExecuteOption1}" Header="Option 1" />
<ribbon:RibbonApplicationMenuItem Command="{x:Static viewmodel:commands.ExecuteOption2}" Header="Option 2"/>
<ribbon:RibbonApplicationMenuItem Command="{x:Static viewmodel:commands.ExecuteOption3}" Header="Option 3"/>
<ribbon:RibbonApplicationMenuItem Command="{x:Static viewmodel:commands.ExecuteOption4}" Header="Option 4"/>
</ribbon:RibbonApplicationMenuItem>
<ribbon:RibbonApplicationMenuItem Header="Options Group 2">
<ribbon:RibbonApplicationMenuItem Command="{x:Static viewmodel:commands.ExecuteOption5}" Header="Option 5" IsEnabled="False"/>
<ribbon:RibbonApplicationMenuItem Command="{x:Static viewmodel:commands.ExecuteOption6}" Header="Option 6"/>
<ribbon:RibbonApplicationMenuItem Command="{x:Static viewmodel:commands.ExecuteOption7}" Header="Option 7"/>
<ribbon:RibbonApplicationMenuItem Command="{x:Static viewmodel:commands.ExecuteOption8}" Header="Option 8"/>
</ribbon:RibbonApplicationMenuItem>