我有一个Student对象,其中包含:
private string name;
private double feesOwed;
我还有一个ListBox,它将ItemSource设置为一个由多个学生填充的List对象。我想让ListBox显示名称作为Text,并根据feesOwed设置背景颜色。像
这样的东西if(feesOwed>20)
{
if(feesOwed>100)
{
item.Background = "Red";
return;
}
item.Background = "Yellow";
return;
}
我发现的所有这些例子主要是谈论如何获得交替的行颜色。我知道这将需要数据绑定,但这个主题对我来说是相当新的,我不能让它动态地工作。
我认为正确的方法是实现IValueConverter,但这也有点令人生畏。
由于
答案 0 :(得分:1)
您可以使用如下所示的数据触发器
<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>
您可以参考this链接