水平菜单? [英] Horizontal menu?
本文介绍了水平菜单?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在用户控件的顶部创建一个水平菜单,其菜单项水平填充整个空间.一共有六个项目,并且只有一个级别-因此它并不是真正的菜单.
I want to create a horizontal menu across the top of my user control whose items fill the whole space horizontally. There are six items and it's one level only - so it's not really a menu as such.
我可以使用菜单执行此操作吗?还是我最好使用六个列的网格,每个列带有一个按钮,甚至是水平堆叠面板?这是我到目前为止的内容:
Can I do this with a menu? Or am I better off with using a six column grid with a button per col, or even a horizontal stack panel? Here is what I have so far:
<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>
推荐答案
菜单从ItemsControl
派生,因此只需切换ItemsPanel:
Menu derives from ItemsControl
so can just switch the 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>
这篇关于水平菜单?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文