
実現したいこと
C#のユーザーコントロールでラベルの背景色を条件に合わせて変更するようなコードを作成したい。
前提
ここに質問の内容を詳しく書いてください。
言語はC#、開発環境はWindows 10のvisual studio 2022で.NET framework4.8を使用しています。
とあるソフト内のスクリプト機能で動作するプログラムを作成しようとしています。
ユーザーコントロールにラベルを配置し、条件によってラベルの背景色が変わるようにしたいのですがやり方がわかりません。
現在は以下のようにプログラムを書いています。
【UserControl.xaml】
<Label x:Name="ラベル名_lb" Content="ラベルに表示する文字" HorizontalAlignment="Left" Margin="500,120,0,0" VerticalAlignment="Top" Height="26" FontSize="10" Background="#FFF39915"/>
上記コードの
Background="#FFF39915"
の部分が条件で変わるようにしたいです。
試したこと
まずは単純にif文を使用してみました。
【UserControl.xaml】
if (条件式) { <Label x:Name="ラベル名_lb" Content="ラベルに表示する文字" HorizontalAlignment="Left" Margin="500,120,0,0" VerticalAlignment="Top" Height="26" FontSize="10" Background="#FFF39915"/> } else { <Label x:Name="ラベル名_lb" Content="ラベルに表示する文字" HorizontalAlignment="Left" Margin="500,120,0,0" VerticalAlignment="Top" Height="26" FontSize="10" Background="#FF24E827"/> }
UserControl.xamlファイル上ではif文が使用できないのか動作しませんでした。
続いてUserControl.xaml.csファイル上でif文を使用して、UserControl.xamlファイルの色コードの部分を変数で置き換えることを試しました。
【UserControl.xaml.cs】
if (条件式) { string LabelColor ="#FFF39915" } else { string LabelColor ="#FF24E827" }
【UserControl.xaml】
<Label x:Name="ラベル名_lb" Content="ラベルに表示する文字" HorizontalAlignment="Left" Margin="500,120,0,0" VerticalAlignment="Top" Height="26" FontSize="10" Background=LabelColor/>
上記のようにしても動作しませんでした。
どのようにすれば条件式で色の変更が知りたいです。
プログラミングを初めて数日なのでわからないことだらけですが教えていただけますと助かります。
よろしくお願いいたします。


回答1件
あなたの回答
tips
プレビュー