【发布时间】:2016-09-16 12:43:12
【问题描述】:
我来自 WinForms,第一次自学 WPF。
我以为我会首先在 WPF 中重新创建我的一个 WinForms 应用程序的界面,但我已经遇到了菜单问题。
我不明白为什么 WPF 应用程序中的菜单从右到左打开,而 WinForms 应用程序上的菜单从左到右打开(这是我想要的):
这实际上是一个只有默认设置的空项目。这是 XAML:
<Window x:Class="WpfTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Test" Height="541.771" Width="828.947" WindowStartupLocation="CenterScreen">
<DockPanel LastChildFill="False" Margin="0" Background="#FFFDFD9C">
<Menu x:Name="menu" Height="22" VerticalAlignment="Top" RenderTransformOrigin="1.79,0.076" DockPanel.Dock="Top" Margin="0">
<MenuItem Header="File">
<MenuItem Header="New Document"/>
<MenuItem Header="Open Template"/>
<MenuItem Header="Open Collateral"/>
<Separator/>
<MenuItem Header="Synchronise"/>
<Separator/>
<MenuItem Header="Build Document"/>
<MenuItem Header="Document History">
<MenuItem Header="Load Last Document"/>
</MenuItem>
<Separator/>
<MenuItem Header="Settings"/>
<Separator/>
<MenuItem Header="Exit"/>
</MenuItem>
<MenuItem Header="Help">
<MenuItem Header="User Guide"/>
<MenuItem Header="About"/>
</MenuItem>
</Menu>
<Rectangle Fill="#FFB8B8FF" Height="80" VerticalAlignment="Top" DockPanel.Dock="Top" Margin="0"/>
</DockPanel>
</Window>
我错过了什么?
【问题讨论】:
-
我能想到的只是你电脑上的文化可能会搞砸,试试在你的窗口中设置
FlowDirection="LeftToRight"?此外,如果窗口位于屏幕的最右边缘,它将在另一侧弹出。 -
我的文化是英文。 FlowDirection 似乎没有什么不同。我在
<Window>标签中添加了它,我认为这是正确的?它不在屏幕的最右侧,有足够的空间可以打开菜单。 -
您的菜单中需要
RenderTransform吗?还是您使用设计器在屏幕上拖放东西? -
我使用设计器将项目拖到表单上。该属性是自动添加的,我不明白它的作用,所以我离开了它。删除它不会改变任何东西。
-
对于投反对票的人,您能否发表评论,建议如何改进这篇文章。对我认为是明确的问题进行秘密投票是没有帮助的。
标签: wpf