我是WPF的新手,我想在我的用户控件顶部创建一个水平菜单,其中的项目水平填充整个空间。有六个项目,它只是一个级别 - 所以它不是真正的菜单。我可以使用菜单执行此操作,还是最好使用带有按钮的六列网格,甚至是水平堆栈面板?以下是我到目前为止的情况:
<DockPanel>
<DockPanel DockPanel.Dock="Top" KeyboardNavigation.TabNavigation="None">
<Menu KeyboardNavigation.TabNavigation="Cycle" VerticalAlignment="Top" Background="DarkGray" Height="40">
<MenuItem Header="_New"/>
<MenuItem Header="_Load" />
<MenuItem Header="_Save" />
<MenuItem Header="_Validate" />
<MenuItem Header="_Import" />
<MenuItem Header="_Export"/>
</Menu>
</DockPanel>
</DockPanel>
答案 0 :(得分:1)
菜单派生自ItemsControl
,因此只需切换ItemsPanel:
<DockPanel>
<DockPanel DockPanel.Dock="Top" KeyboardNavigation.TabNavigation="None">
<Menu KeyboardNavigation.TabNavigation="Cycle" VerticalAlignment="Top" Background="DarkGray" Height="40">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Rows="1"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<MenuItem Header="_New"/>
<MenuItem Header="_Load" />
<MenuItem Header="_Save" />
<MenuItem Header="_Validate" />
<MenuItem Header="_Import" />
<MenuItem Header="_Export"/>
</Menu>
</DockPanel>
</DockPanel>
答案 1 :(得分:0)
<Menu KeyboardNavigation.TabNavigation="Cycle" VerticalAlignment="Top" Background="DarkGray" Height="40">
<MenuItem Header="File">
<MenuItem Header="_New"/>
<MenuItem Header="_Load" />
<MenuItem Header="_Save" />
<MenuItem Header="_Validate" />
<MenuItem Header="_Import" />
<MenuItem Header="_Export"/>
</MenuItem>
<MenuItem Header="Edit">
<MenuItem Header="Cut"/>
<MenuItem Header="Copy"/>
<MenuItem Header="Paste" />
</MenuItem>
</Menu>
希望这会有所帮助。您需要在MenuItem中添加Menu子项。它本身就是o0f列表类型。