如何在WPF中动态更改GridView特定行的背景颜色?

时间:2011-01-28 06:04:42

标签: wpf visual-studio-2010

我在网格视图中动态添加行listViewResult.Items.Add(new { Server = "test1", Value = "ABX", Availability = "Yes", Status = "No"}); 同时我想添加我在状态值的基础上添加的同一行的背景颜色。我怎样才能实现这一目标?

2 个答案:

答案 0 :(得分:2)

您可以直接添加ListViewItem元素:

ListViewItem lvi = new ListViewItem();
lvi.Background = ... color you want ... ;
lvi.Content = new {Server = "test1", .... };
listViewResult.Items.Add(lvi);

将背景绑定到状态仅在Status为DependencyProperty时才有效。如果它只是一个报告并且状态没有改变,则无需创建绑定,只需根据状态值设置颜色。

答案 1 :(得分:1)

执行此操作的最佳方法是编辑ListViewItem的模板,并使用转换器将Background属性绑定到项目的Status属性,以将状态转换为画笔/颜色。

虽然听起来不是那么微不足道......