0

我将 DataTable 绑定到 WPF DataGrid(DataGrid 上自动生成的列)。

我想为第一列、最后一列和最后一行中的所有单元格分配不同的样式。

如何做到这一点?

编辑

这里的问题是我没有定义属性名称的数据对象,并且 DataTable 列名称不是恒定的,因为它是动态的,具有自动生成的列。

AutoGeneratingColumn 事件 - e.DisplayIndex 始终为 -1,是否有从此处到 DataTable 的列和行索引的路径?

转换器 - 如何传递单元格的行和列索引?

4

1 回答 1

2

假设您将单元格样式和行样式存储在 XAML 资源中的某个位置,我建议您在代码隐藏中处理数据网格的两个事件,它们是:

int c = myDataTable.Rows.Count;
myDataGrid.AutoGeneratedColumns += (s, e) =>
{
   myDataGrid.Columns[myDataGrid.Columns.Count - 1].CellStyle = this.Resources["myCellStyle"] as Style;
   myDataGrid.Columns[0].CellStyle = this.Resources["myCellStyle"] as Style;
};
myDataGrid.LoadingRow += (s, e) =>
{
   int x = e.Row.GetIndex();
   if (c - 1 == x) e.Row.Style = this.Resources["myRowStyle"] as Style;
};

高温高压

于 2012-10-11T13:24:54.490 回答