如何覆盖wpf中按钮的启用/禁用外观

时间:2014-12-26 15:53:21

标签: wpf user-controls

我认为这可能是一个风格问题,但对wpf不熟悉我不确定我应该改变什么。我已经构建了一个包含各种按钮的用户控件(我将其背景颜色设置为透明)。无论如何,当添加到表单或其他用户控件时,它们在禁用时显示彩色背景,或者在启用时通过鼠标运行时显示(参见下图)

enter image description here

如何删除按钮处于禁用状态的灰色背景,以及启用时翻转时出现的蓝色背景,我需要做什么。我的目标是尝试并保持清晰和清晰的按钮图像再现。

由于

1 个答案:

答案 0 :(得分:3)

您需要使用ControlTemplate覆盖Button控件的Style.以下Style将适用于所有Button控件,但您可以为Key指定Style,并根据需要在特定的Button控件上使用它。

<Window.Resources>
    <Style TargetType="{x:Type Button}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Border x:Name="ButtonContent">
                        <ContentPresenter />
                    </Border>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsEnabled" Value="False">
                            <Setter TargetName="ButtonContent"
                                    Property="Background"
                                    Value="Transparent"/>
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</Window.Resources>
相关问题