我在 WPF 中有 ListBox 控件,该控件由一些可观察的 Type:"Bus" 集合填充。
Bus 是一个包含两个属性的类
- 总线名称
- 总线类型
所以根据总线类型,这里的项目应该有两种颜色中的一种
巴士类型:
- 卧铺 - 绿色
- 非卧铺 - 蓝色
所有这些都应该发生在 WPF 代码后面。
有谁知道该怎么做.. [我不是 WPF 专家.. 一些细节会更有帮助。]
你也可以通过后面的代码来做同样的事情..我们有以下方法来实现这一点..我希望这会对你有所帮助..
DataTrigger datatrigger = new DataTrigger();
datatrigger.Binding = new Binding("BusTypeID");
datatrigger.Value = 1;
datatrigger.Setters.Add(new Setter(ListBoxItem.BackgroundProperty, Brushes.Green));
listbox.Triggers.Add(datatrigger);
DataTrigger datatrigger2 = new DataTrigger();
datatrigger2.Binding = new Binding("BusTypeID");
datatrigger2.Value = 2;
datatrigger2.Setters.Add(new Setter(ListBoxItem.BackgroundProperty, Brushes.Red));
listbox.Triggers.Add(datatrigger2);
设置 BusType 的整数值 Let Say, Sleeper = 1 Non Sleeper = 2
只需在您的集合中为 BusTypeID 添加一个属性
<Style.Triggers> <DataTrigger Binding="{Binding BusTypeID}" Value="1"> <Setter Property="Background" Value="Green"/> </DataTrigger> <DataTrigger Binding="{Binding BusTypeID}" Value="2"> <Setter Property="Background" Value="Blue"/> </DataTrigger> </Style.Triggers> </Style >