пункты подменю в меню WPF - PullRequest
9 голосов
/ 30 июля 2009

как сделать SUBMENU-объекты видимыми по вертикали как левая навигация в CODEGURU.COM

В окнах мы используем свойство layoutstyle, чтобы сделать все основные и дочерние элементы видимыми по вертикали, и УСТАНАВЛИВАЕМ меню влево.

Как добиться этого в WPF

Ответы [ 2 ]

12 голосов
/ 30 июля 2009

Для подменю вы можете добавить столько 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"/>
3 голосов
/ 30 июля 2009

Просто переопределите 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).

...