我在應用程序中使用Microsoft的Ribbon控件。RibbonApplicationMenuItem SubMenu的第一個項目默認未選中
我有一個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>
在命名空間System.Windows.Controls.Ribbon中嘗試使用最新版本 - 現在(如.NET 4.5) - 並發現鍵盤導航在很大程度上可行;奇怪的是,你不能從第二個菜單中的「向下」箭頭開始,只有「向上」。 – Bevan