2012-04-18 180 views
2

我有一個菜單視圖:WPF菜單標籤導航

<Menu IsTabStop="False"> 
    <MenuItem 
     Header="_File" 
     IsTabStop="True"> 
     <MenuItem 
      Header="New/Start Over" 
      IsTabStop="True" 
      InputGestureText="Ctrl+N" 
      Command="{x:Static common:Commands.StartOverCommand}" /> 
     <Separator 
      IsTabStop="False" /> 
     <MenuItem 
      Header="Log Out" 
      IsTabStop="True" 
      InputGestureText="F12" 
      Click="LogoutMenuItem_Click" /> 
     <MenuItem 
      Header="E_xit" 
      IsTabStop="True" 
      InputGestureText="Alt+F4" 
      Click="ExitMenuItem_Click" /> 
    </MenuItem> 
    <MenuItem 
     Header="_Edit" 
     IsTabStop="True"> 
     <MenuItem 
      Header="Undo Edit Field" 
      IsTabStop="True" 
      InputGestureText="Ctrl+Z" 
      Click="_undoMenuItem_Click" /> 
     <MenuItem 
      Header="Redo Edit Field" 
      IsTabStop="True" 
      InputGestureText="Ctrl+Y" 
      Click="_redoMenuItem_Click" /> 
    </MenuItem> 
    <MenuItem 
     Header="_Tools" 
     IsTabStop="True"> 
     <MenuItem 
      Header="Comments" 
      IsTabStop="True" 
      InputGestureText="Ctrl+M" 
      Click="_commentsMenuItem_Click" /> 
    </MenuItem> 
</Menu> 

我想使用左,右箭頭鍵,以便能夠通過菜單(文件,編輯,工具)來瀏覽其我能夠通過使這些MenuItems IsTabStop="True"完成。但是因爲我這樣做了,所以我可以在頁面上循環瀏覽其他有效字段時切換到菜單。當我使用Alt + F將焦點放在文件菜單上時,我希望能夠通過箭頭鍵循環瀏覽3個菜單,但我不想從頁面中選擇這些菜單。我怎麼做到這一點?

+3

嘗試[KeyboardNavigation.TabNavigation附加屬性(http://msdn.microsoft.com/en-us/library/system.windows.input.keyboardnavigation.tabnavigation.aspx)與[KeyboardNavigationMode.None]( http://msdn.microsoft.com/en-us/library/system.windows.input.keyboardnavigationmode.aspx) – LPL 2012-04-18 20:45:13

+0

@LPL您應該將其添加爲答案。這遠比我的好。 – kevev22 2012-04-18 20:59:00

回答

3

在菜單上使用和KeyboardNavigationMode.None

<Menu KeyboardNavigation.TabNavigation="None"> 
+0

我有一個類似的問題,其中箭頭鍵將從我的主窗口的部分導航到菜單,這完全不是預期的!這裏的着陸向我介紹了KeyboardNavigation附加的屬性,並且我設置了我的菜單的'KeyboardNavigation.DirectionNavigation =「None」'它修復了它。非常感謝LPL的回答,這也是解決我的問題的關鍵步驟 – aggieNick02 2013-04-15 18:16:08