응용 프로그램에서 Microsoft의 리본 컨트롤을 사용하고 있습니다.RibbonApplicationMenuItem SubMenu의 첫 번째 항목이 기본적으로 선택되어 있지 않습니다.
같은 종류의 SubItem을 가진 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