C# 如何设置列表<;列表<;双倍>&燃气轮机;(或二维数组)作为DataGrid的数据源

C# 如何设置列表<;列表<;双倍>&燃气轮机;(或二维数组)作为DataGrid的数据源,c#,wpf,datagrid,matrix,datasource,C#,Wpf,Datagrid,Matrix,Datasource,我有带值和wpf数据网格的列表。 如何将其设置为dataGrid的数据源 我尝试过以下方法: public class DataContainer { public List<List<double>> List { get; set; } public List<string> Headers { get; set; } } private void InitializeGrid(DataContainer container) {

我有带值和wpf数据网格的
列表

如何将其设置为dataGrid的数据源

我尝试过以下方法:

public class DataContainer
{
    public List<List<double>> List { get; set; }
    public List<string> Headers { get; set; }
}

private void InitializeGrid(DataContainer container)
{
    var table = new DataTable();

    foreach (var header in container.Headers)
    {
       dataGrid1.Columns.Add(new DataGridTextColumn(){Header = header});
       table.Columns.Add(header);
    }
    foreach (var lst in container.List)
    {
       var dr = table.NewRow();

       var array = (from o in lst
                    select (object)o).ToArray();

       dr.ItemArray = array;

       table.Rows.Add(dr);
    }
    foreach (var row in table.Rows)
    {
        dataGrid1.Items.Add(row);
    }

   // dataGrid1.ItemsSource = table.Rows;
}
公共类数据容器
{
公共列表{get;set;}
公共列表头{get;set;}
}
私有void InitializeGrid(数据容器)
{
var table=新数据表();
foreach(container.Headers中的var头)
{
添加(新的DataGridTextColumn(){Header=Header});
table.Columns.Add(表头);
}
foreach(container.List中的var lst)
{
var dr=table.NewRow();
变量数组=(从lst中的o开始)
选择(对象)o.ToArray();
dr.ItemArray=array;
table.Rows.Add(dr);
}
foreach(表中的变量行。行)
{
dataGrid1.Items.Add(行);
}
//dataGrid1.ItemsSource=table.Rows;
}

这只会添加标题和空行。

您可以选择两个方向,但需要选择一个

一:

创建数据表(而不是列)。使用标题来命名DataTable中的列。使用自动生成列绑定DataTable

二:


不要创建数据表。绑定到列表(使用列表作为属性名是一种糟糕的做法,而且容易混淆)。然后将列内容绑定到类似列表[0],列表[1]的内容。我不确定语法是什么,因为我已经完成了一个列表,其中MyClass有一个公共列表MyRows,然后内容绑定的语法是MyRows[0],MyRows[1]…

您正在向列添加标题,但没有绑定任何内容。