我希望找到一种方法来删除弹出(子)“MenuItem”左侧的空间,并且只让它们占用所需的空间,而不必为控件制作一个全新的模板。在这种情况下我可以使用任何类型的依赖属性或类似性质的东西吗?我已经尝试过创建新模板,而对于我想要完成的工作来说,这很麻烦,而且看起来真的有点矫枉过正。
如果有人有任何建议(特别是关于如何在不制作新模板的情况下摆脱“菜单项”左侧的那个讨厌的框),请告诉我。任何帮助,将不胜感激。
不要认为不重新模板就可以做到。这是另一个要求删除图标区域但也要求更多的问题。他们必须重新模板化,答案包括他们使用的模板,这样可能会简化您的流程。
这是 MSDN 论坛的另一个答案,我认为它只是删除了图标区域。
不理想,但没有“ShowIconArea”属性或任何东西。
有个窍门。看看它是否解决了您的目的在样式中设置 ItemsPanel 并将其添加到您的资源中
<Style TargetType="{x:Type MenuItem}">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Margin="-20,0,0,0" Background="Gray"></StackPanel>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
<Menu>
<MenuItem Header="MI1">
<MenuItem Header="MI1"></MenuItem>
<MenuItem Header="MI2"></MenuItem>
</MenuItem>
<MenuItem Header="MI2"></MenuItem>
</Menu>