Listview WPF:以编程方式添加bg颜色

时间:2017-06-16 07:06:24

标签: c# wpf listview background

您好我正在尝试在运行时动态地为列表视图项的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;
      }
}

1 个答案:

答案 0 :(得分:1)

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

实现此MVVM样式的正确方法是将ListView的DataTemplate中的背景颜色绑定到(视图)模型的属性。

如果您仍在寻找设置ListViewItem背景颜色的方法,请查看How can I access the ListViewItems of a WPF ListView?

(但要注意,它们并不容易触及)