首页 文章

基于索引的WPF DataGrid样式单元格

提问于
浏览
0

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

我想为第一列,最后一列和最后一行中的所有单元格指定不同的样式 .

怎么能实现这一目标?

Edit

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

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

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

1 回答

  • 2

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

    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;
    };
    

    HTH

相关问题