C# WPF数据网格添加列表<;双倍>;列

C# WPF数据网格添加列表<;双倍>;列,c#,wpf,datagrid,C#,Wpf,Datagrid,我对编程并不陌生,但我在WPF DataGrid中遇到了许多未经证实的问题。 让我们先说我想以编程方式为每个集合添加一列,而不需要任何绑定 List<List<double>> collection = new List<List<double>> { new List<double>() {1.5, 2.5, 3.5}, new List<double>() {1.5, 2.5}, new List

我对编程并不陌生,但我在WPF DataGrid中遇到了许多未经证实的问题。 让我们先说我想以编程方式为每个集合添加一列,而不需要任何绑定

List<List<double>> collection = new List<List<double>> {
    new List<double>() {1.5, 2.5, 3.5},
    new List<double>() {1.5, 2.5},
    new List<double>() {1.5, 2.5, 3.5, 4.5}
};
列表集合=新列表{
新列表(){1.5,2.5,3.5},
新列表(){1.5,2.5},
新列表(){1.5,2.5,3.5,4.5}
};
我想要3列,每个列对应一个列表,4行。很明显,其中一些将是空的。
提前谢谢。

我会使用DataTable,它可能会为您可能需要执行的其他操作提供更大的灵活性,如编辑

DataTable dt = new DataTable();
DataColumn dc1 = new DataColumn("Value1", typeof(double));
DataColumn dc2 = new DataColumn("Value2", typeof(double));
DataColumn dc3 = new DataColumn("Value3", typeof(double));
DataColumn dc4 = new DataColumn("Value4", typeof(double));

dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
dt.Columns.Add(dc4);

DataGrid dg = new DataGrid()
{
    ItemsSource = dt.DefaultView,
    Background = Brushes.Wheat,
    AlternatingRowBackground = Brushes.AliceBlue,
    VerticalScrollBarVisibility = ScrollBarVisibility.Auto,
    Height = 500,
    Width = 400,
};

dt.Rows.Add(1.5, 2.5, 3.5);
dt.Rows.Add(1.5, 2.5, null);
dt.Rows.Add(1.5, 2.5, 3.5, 4.5);

MyCanvas.Children.Add(dg);  // A canvas in the XAML
Canvas.SetTop(10,dg);
Canvas.SetLeft(10,dg);

数据网格通常绑定在WPF中。在代码隐藏中添加行和列不是很方便。您真的需要在代码隐藏中添加行吗?将ItemsSource绑定到DataTable或类的ObservableCollection,该类的每个列都有一个属性(不是字段)。你打算在这里和WPF作战。不要浪费你的时间。WPF会赢的。我宁愿不捆绑任何东西,但也许这是我可以处理的事情。不管怎样:我怎样才能使用绑定呢?请尝试给我们提供更多的上下文。解释您的问题、应用程序的结构、一些代码以及添加行的要点。您的DataGrid是只读的吗?