Поместите разделительную линию в меню в WPF

Как в XAML поместить стандартную разделительную линию в меню?

eg

<MenuItem Header="_File" Name="m_fileMenu">
    <MenuItem Header="_Open" Command="ApplicationCommands.Open"/>
    <!-- Trying to put a divider here! -->
    <MenuItem Header="-" />  <!-- Wrong guess -->
    <MenuItem Header="E_xit" Command="ApplicationCommands.Close" />
</MenuItem>

person Andrew Shepherd    schedule 17.08.2009    source источник


Ответы (2)


Используйте Separator следующим образом:

<MenuItem Header="_Open" Command="ApplicationCommands.Open" />
<Separator />
<MenuItem Header="E_xit" Command="ApplicationCommands.Close" />
person RichieHindle    schedule 17.08.2009
comment
кажется, теперь это называется разделителем, а не разделителем? - person Mitch VanDuyn; 10.06.2020

Мне нужно было перебирать элементы меню по разным причинам, и использование разделителя означало небольшое приведение, поэтому вместо этого я использовал элемент меню высотой 1 пиксель.

<MenuItem Height="1" Background="LightGray"/>

Правильный ответ, безусловно, заключается в использовании Separator, но приведенное выше работает и визуально и в некоторых случаях может быть решением.

person Marcin    schedule 08.01.2014