我正在开发一个c#/ xaml metro应用程序。
我有一个列表框,根据一个特定条件,我只想更改一个listboxitem背景颜色。
这就是我的尝试: -
if (lststudents != null)
{
foreach (StudentClass obj in lststudents)
{
if (obj.stutype == "Red House")
{
///I am unable to typecast to listboxitem, since it is of type student class
ListBoxItem lstbxbitem = (obj)ListBoxItem;
///
lstbxbitem.Background = new SolidColorBrush(Colors.Red);
}
}
}
lstbxbStudents.ItemsSource = lststudents ;
请注意: - 我想根据某些特定条件更改某些listboxitems的背景颜色。
请告诉我如何实现这一目标?
有哪些替代品?
提前致谢。
答案 0 :(得分:2)
在ListBox中使用DataTemplate,然后您可以创建一个DataTemplateSelector来设置ListBox中特定项的样式。
您可以参考以下链接:
ItemsControl.ItemTemplate property ItemsControl.ItemTemplateSelector property
这是一篇好文章: