WPF禁用复选框背景颜色

时间:2014-09-24 16:12:31

标签: wpf

如何删除禁用复选框文本后面出现的浅灰色?提前谢谢!

我更改了所有系统颜色:

<Style.Resources>
    <SolidColorBrush x:Key="{x:Static SystemColors.ActiveBorderBrushKey}" Color="Transparent"/>
    ...
</Style.Resources>

但文本背后的背景颜色(当复选框已禁用时)保持不变。

3 个答案:

答案 0 :(得分:3)

不确定你的意思是&#34;在文本后面。&#34;文本本身变为灰色,但您可以使用Trigger

轻松更改行为
<CheckBox Content="CheckBox" IsEnabled="False">
    <CheckBox.Style>
        <Style TargetType="CheckBox">
            <Style.Triggers>
                <Trigger Property="IsEnabled" Value="False">
                    <Setter Property="Foreground" Value="Red"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </CheckBox.Style>
</CheckBox>

这里显然是一个非常简单的例子。

答案 1 :(得分:0)

我知道这是一个非常老的问题,但是谷歌搜索仍然将其视为最佳结果之一。 在这种情况下,您可以只设置IsHitTestVisible = false而不是IsEnabled = false

这将使复选框显示为已启用,同时防止其内单击。

答案 2 :(得分:0)

设置Focusable =“ =” False“和IsHitTestVisible =” False“将“禁用”复选框,而不会更改其外观。