代码之家  ›  专栏  ›  技术社区  ›  Anders Rune Jensen

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

  •  0
  • Anders Rune Jensen  · 技术社区  · 15 年前

    我可以设置包含项的contextmenu(.style)的样式,也可以设置菜单项的精细样式(.ItemTemplate)。但是当一个menuitem有menuitems时,如何设置弹出的子菜单的样式呢?

    比如:

    <ContextMenu>
        <MenuItem Header="Font Style">          
                    <MenuItem Header="Under Line" IsCheckable="true"/>
                    <MenuItem Header="Italic" IsCheckable="true"/>
                    <MenuItem Header="Bold" IsCheckable="true"/>
        </MenuItem>
    </ContextMenu>
    
    2 回复  |  直到 15 年前
        1
  •  1
  •   Aran Mulholland JohnnyAce    11 年前
    <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>
    
        2
  •  0
  •   Tri Q Tran    15 年前

    我想这就是你的答案。因为子菜单是菜单项,所以只需将样式应用于子菜单。。。

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