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

3

我正在使用模板填充网格,其中我不知道行数和列数,这些将通过一个类似于以下内容的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

我能想到的一个解决方法是,在表格中生成一个额外的列,其样式类似于列标题的样式,并在其中添加我的行数据。
1个回答

0

如果你在谈论如何在WPF中填充DataGrid,除非你设置

 AutoGenerateColumns="False"

在你的XAML中,网格将从公共属性自动构建其列。

行数并不重要,除非你因某些原因需要设置最大数量的硬性限制。


由于我的属性是在运行时生成的,所以我不得不通过使用这些事件动态选择模板(模板选择器无法工作,因为我直到运行时才知道绑定名称)。每种类型的属性都有自己的模板。行数并不重要,但每行的标题很重要。最终,我计划将行和列标题值“OnSelected”传递给我的模型类中的命令。 - Suhas Anjaria

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接