WPF禁用复选框背景颜色

问题描述 投票:3回答:3

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

我更改了所有系统颜色:

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

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

wpf
3个回答
3
投票

不确定你的意思是“在文本背后”。文本本身变为灰色,但您可以使用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>

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


0
投票

我知道这是一个非常古老的问题,但谷歌搜索仍然认为它是最好的结果之一。在这种情况下,你可以设置IsHitTestVisible = false而不是IsEnabled = false

这会将复选框显示为已启用,同时防止其中的任何点击。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.