私には、特定のクラスのアイテムのバインドされたリストを含むWPF ListBoxがあります。このような何か:リストボックスアイテムWPF、異なるアイテムの異なる背景色
ObservableCollection<MyTable> tables = new ObservableCollection<MyTable>();
...
listTables.ItemsSource = tables;
とXAML:
<ListBox HorizontalAlignment="Left" Margin="8,10,0,0" Name="listTables" Width="153" ItemsSource="{Binding tables}" SelectionChanged="listTables_SelectionChanged" Height="501" VerticalAlignment="Top">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Margin="1">
<TextBlock Grid.Column="1" Text="{Binding tableName}" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
すべてが正常に動作します。私が今やりたいことは、クラスの特定のプロパティに応じて、ListBoxの各項目の背景が異なります。たとえば、MyTableクラスにisOccupiedというプロパティがあるとします。このフラグが特定の項目に設定されている場合、ListBoxに赤い背景が表示されます。そうでない場合は、緑色の背景にしたいと考えています。プロパティが変更された場合、背景もそれに応じて変更されます。
これを達成するためのヒントを教えてください。私は現時点でItemContainerStyleに関するいくつかの情報を探していますが、私は比較的新しいので、正しいパスに従っているかどうかはわかりません。
あなたはeranの古い+1を持っているかもしれません。 ;) – Sheridan
それはとても役に立ちました、魅力のように動作します。どうもありがとうございました! – mmvsbg