复选框着色

时间:2013-12-08 22:34:03

标签: c# wpf

我是C#的新手。我开发了一个类似于Hangman的小程序......这是我的问题:我找不到任何可以改变我的复选框颜色的工作命令。

以下是我的程序代码[实际代码正在工作的地方,注释是我想要了解如何更改复选框的颜色]:

        public void voirSiLettre(char lettre)
    {
        if (motRechercher.Contains(lettre))
        {
            for (int i = 0; i < motRechercher.Length; i++)
            {
                if (motRechercher[i].Equals(lettre))
                {
                    StringBuilder sb = new StringBuilder(txtMot.Text);
                    sb[i] = lettre;
                    txtMot.Text = sb.ToString();
                }
            } //CheckBox --> Green
        }
        else
        {
            //CheckBox --> Red
        }
    }

以下是您想要的复选框的代码:

    private void chkA_Checked(object sender, RoutedEventArgs e)
    {
        voirSiLettre('a');
        chkA.IsEnabled = false;
    }

这很简单,但我找不到好的命令和/或如何将它放在这段代码中。我不是要求代码,也许只是一个带有一些解释的命令;我在这里学习。

1 个答案:

答案 0 :(得分:1)

要更改复选框的背景颜色,可以使用Checkbox.Background = Brush,在您的情况下它将是

chkA.Background = new SolidColorBrush(Colors.Red);

如果您正在处理复选框而不更改状态,这样可以正常工作,但是如果您将其设置为绿色然后用户选中该框,它将保持绿色,除非您处理已检查事件中的更改。

另一种选择是在xaml中添加样式,例如:

<Window.Resources>
    <Style TargetType="CheckBox" x:Name="test">
        <Setter Property="Background" Value="Green"/>
    </Style>
</Window.Resources>

然后,您可以将其用作普通背景,并在想要将其更改为红色时在代码中进行修改。