У меня есть список данных с привязкой к данным, который фактически отображает два столбца данных.Он отображается следующим образом:
<UserControl.Resources>
<DataTemplate x:Key="AlignedPairs">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="10" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Fruits}" Grid.Column="0" />
<TextBlock Text="->" TextAlignment="Center" Grid.Column="1" />
<TextBlock Text="{Binding Colors}" Grid.Column="3" />
</Grid>
</DataTemplate>
</UserControl.Resources>
<ListBox Name="lbStuff" Grid.ColumnSpan="2" Grid.Row="1"
ItemTemplate="{StaticResource AlignedPairs}">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
Затем в исходном коде задан Itemsource.
Однако, основываясь на некоторой логике, я бы хотел установить строку или элемент в одном из столбцов,например, фрукт к красному, или линия к жирному шрифту.У меня есть код, чтобы определить, какой фрукт или цвет я бы хотел различить (по цвету / полужирному шрифту) в коде, но я не могу понять, особенно с учетом настраиваемого отображения списка, как я могу настроить конкретный элементна другой цвет / полужирный.
У кого-нибудь есть идеи?
Дайте мне знать, требуется ли какой-либо дополнительный код.Приветствия.
edit: все, что я действительно хочу сделать, это сделать проблему как можно проще ... пройтись по каждому элементу в списке и проверить строку, еслиесть совпадение НЕКОТОРЫЕ визуально различают этот элемент в списке / просмотре списка.Нет необходимости делать это более сложным, чем нужно.Почему вы не можете индивидуально установить цвет переднего плана предметов, вне меня!
edit 2:
Похоже, я почти добился следующего (но этовыдает исключение и не работает)
foreach (var li in ListView.Items)
{
if (someCriteria == true)
{
((ListViewItem) li).Foreground = Brushes.Red;
//exception throw as this is the actual object stored in this location (the Fruit object for example) not the row or listviewitem I want to change the color of so it can't be cast :(
}
}