列表视图 WPF:以编程方式添加 bg 颜色



嗨,我正在尝试在运行时动态地为列表视图项目的 bg 添加颜色,但我得到以下异常。

无法将类型为"RootObject.Controls.ListItem"的对象转换为类型"System.Windows.Controls.ListViewItem"。

我的要求是在单击按钮时检查条件,如果过程成功,则将 bg 更改为绿色,否则为红色。这是我的 WPF 代码

<ListView x:Name="ListView" SelectionChanged="List_SelectionChanged" MouseDoubleClick="List_MouseDoubleClick"  SelectionMode="Single"/>

这是我背后的代码,

if(RootVal.sendResult == true)
{                       
foreach (ListViewItem item1 in ListView.Items)
{
item1.Background = System.Windows.Media.Brushes.Green;
}
}

ListView 的Items属性不包含控件,它包含(视图)模型。(您设置为项目源的那些)

使用此 MVVM 样式的正确方法是将 ListViewDataTemplate的背景颜色绑定到(视图)模型的属性。

如果您仍在寻找一种设置ListViewItem背景颜色的方法,请查看如何访问 WPF 列表视图的列表视图项?

(但请注意,他们不是那么容易到达)

最新更新