C# 如何根据条件更改ListBoxItem的颜色
我有一个学生对象,它有:C# 如何根据条件更改ListBoxItem的颜色,c#,wpf,listbox,listboxitem,C#,Wpf,Listbox,Listboxitem,我有一个学生对象,它有: private string name; private double feesOwed; 我还有一个ListBox,它将ItemSource设置为一个列表对象,其中填充了几个学生。我想让列表框显示作为其文本的名称,并有一个基于feesOwed的背景颜色。差不多 if(feesOwed>20) { if(feesOwed>100) { item.Background = "Red"; r
private string name;
private double feesOwed;
我还有一个ListBox,它将ItemSource设置为一个列表对象,其中填充了几个学生。我想让列表框显示作为其文本的名称,并有一个基于feesOwed的背景颜色。差不多
if(feesOwed>20)
{
if(feesOwed>100)
{
item.Background = "Red";
return;
}
item.Background = "Yellow";
return;
}
我发现的所有关于这一点的例子大多只是讨论如何获得交替的行颜色。我知道这将需要数据绑定,但这个主题对我来说是相当新的,我不能让它动态工作
我认为正确的方法是实现IValueConverter,但这也有点令人望而生畏
谢谢您可以使用如下所示的数据触发器
<Style TargetType="ListBoxItem">
<Style.Triggers>
<DataTrigger Binding="{Binding feesOwed}" Value="20">
<Setter Property="Background" Value="Yellow"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding feesOwed}" Value="100">
<Setter Property="Background" Value="Red"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
您可以参考链接您可以使用如下所示的数据触发器
<Style TargetType="ListBoxItem">
<Style.Triggers>
<DataTrigger Binding="{Binding feesOwed}" Value="20">
<Setter Property="Background" Value="Yellow"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding feesOwed}" Value="100">
<Setter Property="Background" Value="Red"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
您可以参考链接您可以使用如下所示的数据触发器
<Style TargetType="ListBoxItem">
<Style.Triggers>
<DataTrigger Binding="{Binding feesOwed}" Value="20">
<Setter Property="Background" Value="Yellow"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding feesOwed}" Value="100">
<Setter Property="Background" Value="Red"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
您可以参考链接您可以使用如下所示的数据触发器
<Style TargetType="ListBoxItem">
<Style.Triggers>
<DataTrigger Binding="{Binding feesOwed}" Value="20">
<Setter Property="Background" Value="Yellow"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding feesOwed}" Value="100">
<Setter Property="Background" Value="Red"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
你可以参考link我没有时间做一个例子。您需要的是列表框的
ItemTemplate
。在这里,您可以使用转换器将项目的背景色绑定到项目的feesOwed
,请参见IValueConverter
。转换器根据feesOwed
值返回颜色。看看这个例子:我没有时间做一个例子。您需要的是列表框的ItemTemplate
。在这里,您可以使用转换器将项目的背景色绑定到项目的feesOwed
,请参见IValueConverter
。转换器根据feesOwed
值返回颜色。看看这个例子:我没有时间做一个例子。您需要的是列表框的ItemTemplate
。在这里,您可以使用转换器将项目的背景色绑定到项目的feesOwed
,请参见IValueConverter
。转换器根据feesOwed
值返回颜色。看看这个例子:我没有时间做一个例子。您需要的是列表框的ItemTemplate
。在这里,您可以使用转换器将项目的背景色绑定到项目的feesOwed
,请参见IValueConverter
。转换器根据feesOwed
值返回颜色。请参见以下示例: