C# 不同选定项目的WPF组合框背景
我的组合框只有3项:计划、进度和完成C# 不同选定项目的WPF组合框背景,c#,wpf,combobox,styles,C#,Wpf,Combobox,Styles,我的组合框只有3项:计划、进度和完成 <ComboBox SelectedIndex="0> <ComboBoxItem Content="Planing"/> <ComboBoxItem Content="Progress"/> <ComboBoxItem Content="Done"/> </ComboBox> 1)使用selectionChanged事件 您可以在组合框\u SelectionChange
<ComboBox SelectedIndex="0>
<ComboBoxItem Content="Planing"/>
<ComboBoxItem Content="Progress"/>
<ComboBoxItem Content="Done"/>
</ComboBox>
1)使用selectionChanged事件
您可以在组合框\u 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;
}
}
每次更改组合框中的选定值时,都会调用组合框\u SelectionChanged
事件。在它里面,您可以简单地验证所选项目的值并应用所需的颜色
这将是组合框的xaml
<ComboBox x:Name="comboBox" SelectionChanged="comboBox_SelectionChanged"/>
表示当绑定数据满足指定条件时应用属性值或执行操作的触发器
谢谢,但是有没有办法通过xaml来实现呢?@High我添加了如何使用xml。我是wpf新手,对我来说非常有价值,thanksXAML在Windows 10机器上的VisualStudio2019中似乎不起作用。代码可以工作,但不显示任何颜色。
<ComboBox x:Name="mycombobox">
<ComboBox.Style>
<Style TargetType="{x:Type ComboBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=SelectedItem.Content, ElementName=mycombobox}" Value="Planning">
<Setter Property="Background" Value="Purple" />
</DataTrigger>
<DataTrigger Binding="{Binding Path=SelectedItem.Content, ElementName=mycombobox}" Value="Progress">
<Setter Property="Background" Value="Blue" />
</DataTrigger>
<DataTrigger Binding="{Binding Path=SelectedItem.Content, ElementName=mycombobox}" Value="Done">
<Setter Property="Background" Value="Green" />
</DataTrigger>
</Style.Triggers>
</Style>
</ComboBox.Style>
<ComboBoxItem Content="Planning"/>
<ComboBoxItem Content="Progress"/>
<ComboBoxItem Content="Done"/>
</ComboBox>