0

我正在开发一个 c#/xaml 地铁应用程序。

我有一个列表框,根据一个特定条件,我只想更改一个列表框项背景颜色。

这就是我尝试过的方式:-

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 ;

请注意:- 我只想根据某些特定条件更改某些列表框项的背景颜色。

请让我知道如何实现这一目标?

有哪些不同的选择??

提前致谢。

4

1 回答 1

2

在 ListBox 中使用 DataTemplate,然后您可以创建 DataTemplateSelector 来设置 ListBox 中特定项目的样式。

您可以参考这些链接:

ItemsControl.ItemTemplate 属性 ItemsControl.ItemTemplateSelector 属性

这是一篇好文章:

在 Windows 8 应用商店应用中使用动态 XAML

于 2013-03-20T08:50:59.843 回答