LoginSignup
0
2

More than 5 years have passed since last update.

文字色をコードで変更する方法

Posted at

文字色をコードで変更する

経緯

 ある数値が指定の値になった場合のみボタンの文字色を変更して、
 かつそのボタンを非活性化にしたかったので、FormのようにEnabledをfalseにすれば
 ボタンが非活性化かつ色が変わると思っていましたが、ボタンには既にTriggerで押下時に
 色が変わるように設定してあったので、Enabledをfalseにしても非活性化になるだけで、
 ボタンの色も文字色も変化しませんでした。なので、調べる事になりました。
 尚、ここで記載するタグにはそのTriggerの記述を省き、ボタンの押下回数が2回目の時に、
 文字色を赤色に変更する記述にしています。

タグ

<Grid>
    <Button Name="BtnOK" HorizontalAlignment="Left" Margin="165,183,0,0" VerticalAlignment="Top" Width="75">
        <TextBlock x:Name="txt_Ok" Text="OK"/>
    </Button>
    <Button Name="BtnCancel" HorizontalAlignment="Left" Margin="289,183,0,0" VerticalAlignment="Top" Width="75" Click="BtnCancel_Click">
        <TextBlock x:Name="txt_Cancel" Text="キャンセル"/>
    </Button>
    <TextBlock x:Name="txtAnswer" HorizontalAlignment="Left" Margin="143,108,0,0" TextWrapping="Wrap" Text="0" VerticalAlignment="Top" Height="25" Width="126" FontSize="20"/>
    <Button Name="BtnPuls" HorizontalAlignment="Left" Margin="289,108,0,0" VerticalAlignment="Top" Width="75" Click="BtnPuls_Click">
        <TextBlock x:Name="txtPuls" Text="+" FontSize="25"/>
    </Button>

</Grid>

コード

    private void BtnPuls_Click(object sender, RoutedEventArgs e)
    {
        num++;
        txtAnswer.Text = num.ToString();
        if (num == 2)
        {
            BtnOK.Foreground = new SolidColorBrush(Colors.Red);
            BtnOK.IsEnabled = false;
        }
        else
        {
            BtnOK.Foreground = new SolidColorBrush(Colors.Black);
            BtnOK.IsEnabled = true;
        }
    }

    private void BtnCancel_Click(object sender, RoutedEventArgs e)
    {
        num = 0;
        txtAnswer.Text = num.ToString();
        BtnOK.IsEnabled = true;
        BtnOK.Foreground = new SolidColorBrush(Colors.Black);
    }

結果

1回目

 image.png

2回目

image.png

3回目

image.png

0
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2