アプリケーションで Microsoft のリボン コントロールを使用しています。
同じ Kind の SubItems を持つ RibbonApplicationMenuItem があります。リボン メニューの既定の動作では、キーボードを使用してサブメニューを開くと、既定で最初の項目が選択 (および強調表示) されます。
以下のコードに示すように、サブ項目を持つ 2 つのメニュー項目があります。最初のメニューが正しく開き、最初の項目が強調表示されます。しかし、2 番目のメニューを開いたときに、最初の項目が強調表示されません。唯一の違いは、2 番目のメニューで最初の項目が無効になっている (IsEnabled=false) ことです。したがって、次の項目 (2 番目の項目) が強調表示されるはずです。しかし、そうではありません:(。これを修正する方法を知っている人はいますか?
さらに、最悪の部分は、最初のメニューでできるように、上/下矢印キーを使用して 2 番目のメニューのサブメニューをナビゲートできないことです。これは非常に奇妙で、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>