具有多个级别时,MenuItem 样式出现问题

Issue with MenuItem style when having more than one level

我有一个树视图,其中每个项目都有一个上下文菜单。我注意到如果我的菜单项有多个级别,我会看到这种样式,其中 L1 和 L2 有蓝色边框但它们的背景不是蓝色。

这是预期的吗?

我的代码很简单..

<ContextMenu x:Key="NodeContextMenu">
 <MenuItem Header="L1">
  <MenuItem Header="L2">
   <MenuItem Header="L3"></MenuItem>
  </MenuItem>
 </MenuItem>
</ContextMenu>

Is this expected?

是的。这是 Windows 10 上的默认外观。只有没有子节点的叶子才会获得蓝色背景。

如果您想更改此行为,您应该自定义 MenuItem 的 styles/control 模板。有关这方面的更多信息,请参阅 MSDN。

菜单样式和模板: https://msdn.microsoft.com/en-us/library/ms752296(v=vs.110).aspx