在 WPF 的菜单中放置分隔线

Posted

技术标签:

【中文标题】在 WPF 的菜单中放置分隔线【英文标题】:Place a dividing line in a menu in WPF 【发布时间】:2010-11-20 10:01:44 【问题描述】:

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

【问题讨论】:

【参考方案1】:

像这样使用Separator

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

【讨论】:

现在好像叫 Divider 而不是 Separator?【参考方案2】:

由于各种原因,我需要遍历 MenuItems,而使用 Separator 意味着需要进行一些转换,因此我使用了 1px 高的 MenuItem 来代替

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

最正确的答案是使用 Separator,但上述方法在视觉上也很有效,并且在某些情况下可以成为解决方案。

【讨论】:

以上是关于在 WPF 的菜单中放置分隔线的主要内容,如果未能解决你的问题,请参考以下文章