Элемент списка WPF, другой цвет фона для разных элементов
У меня есть WPF ListBox, содержащий список элементов определенного класса, который у меня есть. Что-то вроде этого:
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 на данный момент, но я относительно новичок в этом, поэтому я не уверен, что я иду по правильному пути.