tags:

views:

232

answers:

2

I can style the contextmenu (.style) containing the items and I can style the menu items fine (.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>
A: 
<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>
Aran Mulholland
Thanks. Almost what I wanted. But I want to style the submenu, not the submenu elements.
Anders Rune Jensen
A: 

FROM Aran Mulholland's answer:

I think this is your answer. Because the submenu IS a MenuItem, just apply the style to the submenu...

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