在RunTime更改WPF DataGrid的整个列的背景颜色
总而言之,我对WPF相对较新。 我一直在寻找答案,但我发现的是如何在运行时对行进行着色而不是列; 例如以下问题:
-
更改WPF Datagrid行颜色
-
如何以编程方式更改WPF中的数据网格行颜色?
-
以编程方式为DataGrid中的行指定颜色
-
根据值更改DataGrid单元格颜色
等。
我已经在MSDN DataGrid页面上看到了CellStyle
属性,但它的使用对我来说并不明显,尽管也在搜索它。
如何在运行时更改整列的背景颜色?
谢谢你的时间。
我让它工作的唯一方法是自己设置列(通过不使用AutoGenerate)。 首先要做的是定义列:
然后,您需要设置每个列CellStyle并将Background绑定到您可以在Window.Resources声明的静态资源:
...
列:
然后你可以通过代码或xaml操作来操纵静态资源。
希望能帮助到你。
有点旧,但这里是你如何以编程方式执行此操作(对于AutoGen列):
private void dgvMailingList_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e) { e.Column.CellStyle = new Style(typeof(DataGridCell)); e.Column.CellStyle.Setters.Add(new Setter(DataGridCell.BackgroundProperty, new SolidColorBrush(Colors.LightBlue))); }
同样的方法也可以应用于非AutoGen列。