简体   繁体   English

如何在WPF中设置ContextMenu子菜单的样式

[英]How do I style a submenu of a ContextMenu in wpf

I can style the contextmenu (.style) containing the items and I can style the menu items fine (.ItemTemplate). 我可以设置包含项的contextmenu(.style)的样式,也可以设置菜单项的精细(.ItemTemplate)的样式。 But how do I style the submenu that pops out when a menuitem has menuitems? 但是,当菜单项包含菜单项时,如何设置弹出的子菜单的样式?

Like: 喜欢:

<ContextMenu>
    <MenuItem Header="Font Style">          
                <MenuItem Header="Under Line" IsCheckable="true"/>
                <MenuItem Header="Italic" IsCheckable="true"/>
                <MenuItem Header="Bold" IsCheckable="true"/>
    </MenuItem>
</ContextMenu>
<ContextMenu>
    <ContextMenu.Resources>
        <Style x:Key="submenuStyle" TargetType="{x:Type MenuItem}">
            <Setter Property="FontWeight" Value="Bold" />
        </Style>
    </ContextMenu.Resources>
    <MenuItem Header="Font Style">          
        <MenuItem Style="{StaticResource submenuStyle}" Header="Under Line" IsCheckable="true"/>
        <MenuItem Style="{StaticResource submenuStyle}" Header="Italic" IsCheckable="true"/>
        <MenuItem Style="{StaticResource submenuStyle}" Header="Bold" IsCheckable="true"/>
    </MenuItem>
</ContextMenu>

FROM Aran Mulholland's answer: 来自亚兰·穆赫兰(Aran Mulholland)的回答:

I think this is your answer. 我认为这是您的答案。 Because the submenu IS a MenuItem, just apply the style to the submenu... 因为子菜单是MenuItem,所以只需将样式应用于子菜单即可。

<ContextMenu>
    <MenuItem Head="Font Style" Style="{StaticResource submenuStyle}" ...>
        <MenuItem ... />
        <MenuItem ... />
    </MenuItem />
</ContextMenu>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM