不同选定项目的WPFcombobox背景
我有4个项目的Combobox:Planing,Progress和Done,
如何更改ComboBox的背景颜色(由defult Gradiant决定)取决于选择了哪个项目。
例如:紫色表示刨光,蓝色表示进度,绿色表示完成。
注意:我的意思是ComboBox背景,而不是ComboBox项目列表。
谢谢
1)使用selectionChanged事件
您可以在comboBox_SelectionChanged
事件中进行设置
private void comboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (comboBox.SelectedItem.ToString() == "Planning") { comboBox.Background = Brushes.Purple; } else if (comboBox.SelectedItem.ToString() == "Progress") { comboBox.Background = Brushes.Blue; } else if (comboBox.SelectedItem.ToString() == "Done") { comboBox.Background = Brushes.Green; } }
每次更改combobox中的选定值时,都会调用comboBox_SelectionChanged
事件。 在其中,您可以简单地validation所选项目的值并应用所需的颜色。
这将是Combobox
的xaml
2)在XAML中使用DataTriggers
也可以通过在DataTrigger
上设置多个DataTrigger
来完成xaml
有关DataTriggers的更多信息:
表示在绑定数据满足指定条件时应用属性值或执行操作的触发器。