2012-04-17 71 views
0

我是新来的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> 

回答

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子项目。它本身就是列表类型。

+0

对不起,不,这不是我的意思。我需要一个横跨屏幕的条形,六条指令均匀分布。没有子项目。 – Nix 2012-04-17 13:17:51

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>