У меня есть список (вот xaml):
<ListBox MinWidth="300" ItemsSource="{Binding Relationships, Mode=OneWay}"
SelectedItem="{Binding SelectedRelationship, Mode=TwoWay}" SelectionMode="Single"
HorizontalAlignment="Left" >
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<CheckBox IsChecked = "{Binding IsPrimary}" IsHitTestVisible="False" />
<StackPanel Orientation="Horizontal" Grid.Column="1">
<TextBlock Text="{Binding RelationshipType}" FontWeight="Bold" Margin="0,0,5,0" />
<TextBlock Text="{Binding Status}" FontStyle="Italic" />
</StackPanel>
<TextBlock Text="{Binding UnitName}" Grid.Row="1" Grid.Column="1" />
<TextBlock Text="{Binding StartDate, Converter={StaticResource DateConverter}}" Grid.Row="2" Grid.Column="1"/>
<TextBlock Text="{Binding RetireDate}" Grid.Row="3" Grid.Column="1" />
<TextBlock Text="{Binding EndDate}" Grid.Row="4" Grid.Column="1" />
<TextBlock Text="{Binding ReasonForLeaving}" Grid.Row="5" Grid.Column="1" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Я хочу, чтобы у каждого элемента в списке был один из 3 фонов (зеленый, если значение IsPrimary = true, оранжевыйесли значение EndDate пустое и серое, если значение EndDate не пустое.
Существует ли способ шаблонирования элементов списка, чтобы они оценивали связанные элементы для определения состояния представления или чтобы каждый элемент списка связывался сзначение, которое я могу установить для каждого элемента в моей модели представления?
Спасибо за вашу помощь.