私はこのWebサイトで提供されているすべての回答を見て問題を解決しましたが、解決策を見つけることができませんでした。ComboBoxの背景とフォアグラウンドを項目選択後に変更します
ItemsSourceプロパティを使用してクラスにバインドされたコンボボックスがあります。次のように
クラス定義は次のとおりです。
public class DataSource
{
public string DisplayField { get; set; }
public string ValueField { get; set; }
}
コンボボックスは、これは、背後にあるコードで行われ... DisplayMemberPath =「DisplayField」とSelectedValuePath =「ValueField」を使用してデータを表示するためにバインドされていますウィンドウロード時に読み込まれます。
次のようにコンボボックスが定義されています
<ComboBox Grid.Row="0" Grid.Column="1" Margin="5 5 5 0" Name="releaseHoldDropDown" Width="100"/>
私は「リリース」への変更、ドロップダウンの値ならば白に緑と前景に背景を変更する方法が必要です。
また、ドロップダウンの値が「ホールド」に変更された場合は、背景を赤に、前景を白に変更する必要があります。
FYI:私はExpressionLight.xamlテーマを使用してアプリケーション全体のスタイルを設定しています。
私はまた、すべての私のコンボボックスの背景をグレーから白に変えて読みやすくする方法も欲しいと思います。 ExpressionLight.xamlを変更する必要がありますが、変更を加えるためにどの部分を編集するのか分かりません。
ヘルプはお寄せいただきありがとうございます。あなただけが私を与えることができれば、私はあなたを助けることができる前景色ではなく(白のまま)背景色を変更したいので、releaseHoldDropDown_SelectionChanged
イベントに
private void releaseHoldDropDown_SelectionChanged(object sender, FooBar e)
{
releaseHoldDropDown.ForeGround = new SolidColorBrush(Colors.White);
DataSource ds = (DataSource)releaseHoldDropDown.SelectedItem;
if (ds.DisplayField == "Release")
releaseHoldDropDown.Background = new SolidColorBrush(Colors.Green);
else if(ds.DisplayField == "Hold")
releaseHoldDropDown.Background = new SolidColorBrush(Colors.Red);
}
とバディを使用しているので
はあなたに
私はそれを試してみます。 – SamN
私はあなたのソリューションを試しましたが、うまくいきませんでした。 ComboBoxの背景は変更されませんでした。その周りに白い枠線が現れましたが、コンボボックスの背景自体は変わりませんでした。 – SamN
私は白い背景値であなたのソリューションを試してみました。 私はこの表現を表現テーマの一般的なスタイルにするために何が必要なのでしょうか? – SamN