web-dev-qa-db-ja.com

WPFのメニューに分割線を配置する

XAMLでは、標準の分割線をメニューに配置するにはどうすればよいですか?

例えば

<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

次のようなSeparatorを使用します。

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

さまざまな理由でMenuItemを反復処理する必要があり、Separatorを使用することは少しキャストを意味するため、代わりに高さ1pxのMenuItemを使用しました

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

正解は最も確実にセパレータを使用することですが、上記も視覚的に機能し、場合によっては解決策になります。

4
Marcin