在RunTime更改WPF DataGrid的整个列的背景颜色

总而言之,我对WPF相对较新。 我一直在寻找答案,但我发现的是如何在运行时对行进行着色而不是列; 例如以下问题:

  1. 更改WPF Datagrid行颜色

  2. 如何以编程方式更改WPF中的数据网格行颜色?

  3. 以编程方式为DataGrid中的行指定颜色

  4. 根据值更改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列。