10

如何在 WPF 中制作子菜单,它们是如何定位布局的?

4

2 回答 2

16

对于子菜单,您可以在其中添加尽可能多的 MenuItem。

<Menu>
  <MenuItem Header="File">
     <MenuItem Header="Open"/>
     <MenuItem Header="Close"/>
  </MenuItem>
  <MenuItem Header="Edit">
     <MenuItem Header="Copy"/>
     <MenuItem Header="Paste"/>
  </MenuItem>
  <MenuItem Header="Options"/>
于 2009-07-30T03:19:43.597 回答
3

只需重新定义ItemsPanel

<Menu>
  <Menu.ItemsPanel>
    <ItemsPanelTemplate>
      <StackPanel Orientation="Vertical"/>
    </ItemsPanelTemplate>
  </Menu.ItemsPanel>
  <MenuItem Header="Foo"/>
  <MenuItem Header="Bar"/>
  <MenuItem Header="Baz"/>
  ...
</Menu>

请注意,这不会消除 Vista/Win7 菜单中的垂直渐变效果。如果您愿意,请将Menu.Background属性设置为您想要的任何内容(甚至可以是Transparent)。

于 2009-07-30T03:13:26.880 回答