3

我希望找到一种方法来删除弹出(子)“MenuItem”左侧的空间,并且只让它们占用所需的空间,而不必为控件制作一个全新的模板。在这种情况下我可以使用任何类型的依赖属性或类似性质的东西吗?我已经尝试过创建新模板,而对于我想要完成的工作来说,这很麻烦,而且看起来真的有点矫枉过正。

如果有人有任何建议(特别是关于如何在不制作新模板的情况下摆脱“菜单项”左侧的那个讨厌的框),请告诉我。任何帮助,将不胜感激。

4

2 回答 2

1

不要认为不重新模板就可以做到。这是另一个要求删除图标区域但也要求更多的问题。他们必须重新模板化,答案包括他们使用的模板,这样可能会简化您的流程。

这是 MSDN 论坛的另一个答案,我认为它只是删除了图标区域。

不理想,但没有“ShowIconArea”属性或任何东西。

于 2013-07-18T12:41:29.540 回答
1

有个窍门。看看它是否解决了您的目的在样式中设置 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>
于 2013-07-18T12:50:42.660 回答