当IsCheckable = true且IsChecked = true时更改MenuItem样式

时间:2017-02-03 14:05:01

标签: wpf menuitem mahapps.metro

目前,当IsChecked=true MahApps在MenuItem的左侧显示勾号时。

我希望在MenuItemIsCheckable=True时更改IsChecked=true样式而不会丢失默认的MahApp样式,类似于Visual Studio上的 FullScreen 按钮:

Visual Studio Menu

有没有一种简单的方法可以实现这一目标?

1 个答案:

答案 0 :(得分:1)

您可以将自定义样式基于MetroMenuItem样式,并设置/覆盖MenuItem的任何属性:

<MenuItem Header="Item..." IsCheckable="True">
    <MenuItem.Style>
        <Style TargetType="{x:Type MenuItem}" BasedOn="{StaticResource MetroMenuItem}">
            <Style.Triggers>
                <MultiTrigger>
                    <MultiTrigger.Conditions>
                        <Condition Property="IsCheckable" Value="True" />
                        <Condition Property="IsChecked" Value="True" />
                    </MultiTrigger.Conditions>
                    <MultiTrigger.Setters>
                        <!-- set any properties you want here...-->
                        <Setter Property="FontSize" Value="30" />
                    </MultiTrigger.Setters>
                </MultiTrigger>
            </Style.Triggers>
        </Style>
    </MenuItem.Style>
</MenuItem>
相关问题