【问题标题】:Horizontal menu?水平菜单?
【发布时间】:2020-04-17 20:26:09
【问题描述】:

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

我可以用菜单来做到这一点吗?还是我最好使用六列网格,每列一个按钮,甚至是水平堆栈面板?这是我目前所拥有的:

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

【问题讨论】:

    标签: wpf menu


    【解决方案1】:

    Menu 源自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>  
    

    【讨论】:

      【解决方案2】:
      <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 中添加菜单子项。它本身是 o0f List 类型。

      【讨论】:

      • 抱歉,我不是这个意思。我想要一个横穿屏幕的条,六个命令均匀分布。没有子项目。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多