0

C#/WPF アプリケーションを作成しました。実行時に WPF フォームの色を変更したいのは、条件タスクに従って、ユーザーが赤色を選択した場合はフォームを赤色に変更し、ユーザーが緑色を選択した場合はフォームの色を緑色にすることです。

ユーザーがコンボボックスで色(赤、緑)を選択し、コンボボックスのクリックイベントコードにコードを記述します

if ( color.Text== "green")
{
   SolidColorBrush bg = new SolidColorBrush(Colors.green);
   g.Background = bg;   //g is stack panel name 
}
else
{
   SolidColorBrush bg = new SolidColorBrush(Colors.red);
   g.Background = bg;
}  

しかし、実行時に、緑ではなく赤に変わる緑の色を選択しました。

4

1 に答える 1

1

color.Text等しくないから"green"ですか?

を使ってみてください(string)color.SelectedValue

ああ-そして@Fuexは指摘します(ただし、実際にはWPFを使用しているときにWindowsフォームを使用していると想定されます)-Click選択が行われないため、イベントを使用しません。

SelectionChangedイベントを使用する必要があります。

ロジックをそのハンドラーに移動した後、使用に戻ることもできるはずです.Text

于 2012-11-19T09:28:39.277 に答える