0

WPFにListBoxコントロールがあり、Type:"Bus"の監視可能なコレクションで埋められています。

バスは2つのプロパティを含むクラスです

  1. BusName
  2. BusType

したがって、バスタイプに基づいて、このアイテムは2つの色のいずれかを持つ必要があります

バスタイプの場合:

  1. スリーパー-グリーン
  2. ノンスリーパー-ブルー

これはすべて、WPFコードビハインドから発生するはずです。

誰かがそうする方法を知っていますか..[私はWPFの専門家ではありません..少し詳細がより役立つでしょう。]

4

2 に答える 2

0

BusTypeの整数値を設定LetSay、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 に答える
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 に答える