这是我想要完成的: DataGridd上的绑定集合包含RowModel的实例,如下图所示(为了简单起见,将其简化为最小化),然后RowModel可以包含ValidationClass。如何更改DataGridCell上的背景,具体取决于绑定的复杂对象值
public class RowModel
{
public int RowId { get; set; }
public string Column1 { get; set; }
public string Column2 { get; set; }
public string Column3 { get; set; }
public ICollection<ValidationClass> Validations { get; set; }
}
public class ValidationClass
{
public string Tag { get; set; }
public string SourceColumn { get; set; }
public string ErrorText { get; set; }
}
ValidationClass.SourceColumns引用RowModel中有错误的列。 ValidationClass的Tag属性可以是“Critical”或“Warning”。
验证是从外部验证程序填充的数据库中获取的。 如果一个或多个列出现验证错误,则Collection每个错误都会填充一个ValidationClass。
现在,如果我想在具有警告的单元格上出现严重错误和黄色背景的单元格上设置红色背景颜色,我该怎么做?
DataTriggers或转换器,还是别的? 需要一些帮助,指出我在正确的方向。
编辑:为了澄清,我使用C#.net4 WPF DataGrid为此。
谢谢你的答案,但它对我没有多大帮助,或者我不明白。 DataGrid绑定到包含类型为'RowModel'的类的集合。 'RowModel'的每个实例都有一个包含'ValidationClass'类型实例的集合。每个'ValidationClass'都有一个映射到'RowModel'类中的道具。上面的例子只有在DataGrid的绑定集合包含'ValidationClass'的实例时才有效,对吗?我希望在集合有'RowModel'的场合时解决这个问题。 – Jobe