xaml menu - Coloque una línea divisoria en un menú en WPF




ejemplos context (3)

En XAML, ¿cómo pongo una línea divisoria estándar en un menú?

p.ej

<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>

Answers

Necesitaba iterar a través de MenuItems por varias razones, y usar Separator significaba un poco de conversión, así que usé un MenuItem alto de 1px

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

La respuesta correcta es utilizar el separador, pero lo anterior también funciona visualmente y puede ser una solución en algunos casos.


Use un Separator como este:

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

Prueba esto:

    <Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525"
        xmlns:t="clr-namespace:System.Windows;assembly=PresentationFramework">
    <Window.Resources>
        <t:GridLength x:Key="gridHeight">50</t:GridLength>
    </Window.Resources>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="{StaticResource gridHeight}"></RowDefinition>
        </Grid.RowDefinitions>
     ....




wpf xaml menu