web-dev-qa-db-fra.com

Placer une ligne de séparation dans un menu dans WPF

En XAML, comment mettre une ligne de séparation standard dans un menu?

par exemple

<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>
66
Andrew Shepherd

Utilisez un Separator comme ceci:

<MenuItem Header="_Open" Command="ApplicationCommands.Open" />
<Separator />
<MenuItem Header="E_xit" Command="ApplicationCommands.Close" />
118
RichieHindle

J'avais besoin d'itérer dans MenuItems pour diverses raisons, et l'utilisation de Separator signifiait un peu de casting, j'ai donc utilisé un MenuItem de 1px de haut à la place

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

La bonne réponse est certainement d'utiliser le séparateur, mais ce qui précède fonctionne aussi visuellement et peut être une solution dans certains cas.

4
Marcin