我有以下简化结构:
public ObservableCollection<ResultModel> results;
public class ResultModel {
public string FileName{get; set;}
public ObservableCollection<TableModel>{get;set;}
}
public class TableModel {
public string TableName{get; set;}
public DataTable Table{get; set;}
}
public class HighlightedValue {
public string Value{get; set;}
public Brush Background{get; set;}
}
根据文件的数量,我可能有几个ResultModel . 我想将这些信息呈现为DataGrids,所以我所做的是使用ItemsControl绑定到两个Collections,最后在DataTemplate中我将DataGrid的ItemSource绑定到每个DataTable的DefaultViews .
这很有用,但是还有一个问题,我需要更改单元格的背景颜色,理想情况下,每个单元格应该由一些文本和背景组成,绑定到HighLightedValue的相应值 . 但是我似乎无法找到实现这一目标的方法 .
如果有更方便的方法,我不一定需要将Tables表示为DataTables .
如何在每列的背景和文本中绑定每个单元格的值?
1 回答
它不具有约束力,但您可以通过逻辑创建自己的自定义列来设置背景颜色并替换自动生成的颜色 .
XAML:
代码背后:
自定义列:
在GenerateElement方法中,如果您愿意,可以在代码中设置绑定 . 我认为dataItem是你想要绑定的对象 .