当我像这样在 XAML 中创建菜单时:
<Menu>
<MenuItem Height="auto" Header="{x:Static str:StringResources.File}">
<MenuItem Header="{x:Static str:StringResources.Open}"
InputGestureText="Ctrl+O"
Command="{Binding OpenFileCommand}"/>
<MenuItem Header="{x:Static str:StringResources.Save}"
InputGestureText="Ctrl+S"
Command="{Binding SaveFileCommand}"/>
<MenuItem Header="{x:Static str:StringResources.SaveAs}"
InputGestureText="Ctrl+Shift+S"
Command="{Binding SaveAsFileCommand}"/>
<MenuItem Header="{x:Static str:StringResources.Exit}"
InputGestureText="Alt+F4"
Click="MenuItemExit_Click"
/>
</MenuItem>
</Menu>
菜单折叠起来,菜单的边缘与顶部菜单项(在本例中为文件)的边缘右对齐。这意味着菜单看起来像这样:
_____________________________________________
__________________|____|File|_____________________________-|_|X|
| | Open Ctrl+O| |
| | Save Ctrl+S| |
| | Save As.. Ctrl+Shift+S| |
| | Exit Alt+F4| |
这看起来很难看,尤其是在非最大化窗口上,其中折叠菜单将有很大一部分绘制在窗口之外。
我希望它看起来像这样:
_______________________________________________________________
|File|____________________________________________________|-_X|
| | Open Ctrl+O| |
| | Save Ctrl+S| |
| | Save As.. Ctrl+Shift+S| |
| | Exit Alt+F4| |
我一直在试图找出如何改变它,但我找不到任何东西。我已经尝试过诸如 HorizontalAlignment、HorizontalContentAlignment 之类的方法,但这不起作用。
此外,我注意到此菜单方向仅适用于 Windows 7,不适用于 Windows XP。最后,此菜单方向也在 Visual Studio 2010 Express 中!
如果你们中的任何人能为我提供答案或搜索方向,我将不胜感激。
最佳答案
这似乎是您本地 Windows 机器的配置问题(检查此行为是否也出现在其他程序中)。如果是,您有两种可能来解决此问题:
选择 1
- 赢+R
- 输入“shell:::{80F3F1D5-FECA-45F3-BC32-752C152E456E}”,按确定
- 在“其他”下将右撇子更改为左撇子,然后按确定
您的菜单应该左对齐打开。
选择 2
- 打开您的注册表并更改以下条目: [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\MenuDropAlignment] 到“0”
- 重启
关于wpf - 如何更改菜单栏中菜单项的方向/位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5687086/