WPF拉伸菜单项

时间:2012-04-17 10:43:43

标签: wpf

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

2 个答案:

答案 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列表类型。