0

我在 WPF 中有 ListBox 控件,该控件由一些可观察的 Type:"Bus" 集合填充。

Bus 是一个包含两个属性的类

  1. 总线名称
  2. 总线类型

所以根据总线类型,这里的项目应该有两种颜色中的一种

巴士类型:

  1. 卧铺 - 绿色
  2. 非卧铺 - 蓝色

所有这些都应该发生在 WPF 代码后面。

有谁知道该怎么做.. [我不是 WPF 专家.. 一些细节会更有帮助。]

4

2 回答 2

0

你也可以通过后面的代码来做同样的事情..我们有以下方法来实现这一点..我希望这会对你有所帮助..

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);
于 2012-06-06T07:03:31.263 回答
0

设置 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 >
于 2012-06-06T05:49:31.007 回答