水平菜单? [英] Horizontal menu?

查看:109
本文介绍了水平菜单?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在用户控件的顶部创建一个水平菜单,其菜单项水平填充整个空间.一共有六个项目,并且只有一个级别-因此它并不是真正的菜单.

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆