這是我想要完成的: 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