使用模板WPF动态生成DataGrid的行和列标题

本文关键字:DataGrid 标题 WPF 动态 | 更新日期: 2023-09-27 18:01:12

我正在使用模板填充网格,其中我不知道行和列的数量,这些将通过WCF服务在类似于以下的类中生成:

 class GridPoint:
    { 
string Rowheader;
float cellvalue;
     }
class ColumnData: List<GridPoint>
{
}

所以数据网格代码应该是这样的:

 MyGrid: DataGrid
{
InitializeComponent();
 private void DataGrid_AutoGeneratingColumn(objectsender,DataGridAutoGeneratingColumnEventArgs e) 
{
 var col = new DataGridTextColumn {Binding = new Binding(e.PropertyName), Header = e.PropertyName};
        e.Column = col;
}
}

我在这篇文章中找到了一种使用数据模板自动生成列的方法。然而,他们没有提到为每个点添加行标题。如果您能帮助我将行标题添加到列样式的混合中,我将不胜感激。

最终产品应该是这样的:

    Column1   Column2 
Row1    123       123
Row2    811       811 
Row3    123       123

我能想到的一个破解方法就是用类似于列标题样式的不同样式生成一个额外的列,并在其中添加我的行点。

使用模板WPF动态生成DataGrid的行和列标题

如果您正在讨论在WPF中填充DataGrid,除非您设置

 AutoGenerateColumns="False"

在XAML中,网格的列将从公共属性自动生成。

行数并不重要,除非出于某种原因需要对最大行数设置硬限制。