WPF指定以编程方式创建的datagrid的网格中的行

时间:2018-03-19 12:38:07

标签: c# .net wpf

我正在尝试了解如何设置以编程方式创建row的{​​{1}}和columnspan。我的代码在第一行添加它:

DataGrid

2 个答案:

答案 0 :(得分:2)

在DataGrid上设置ColumnSpan本身并没有多大意义。 ColumnSpan定义网格上的控件将跨越多少列。如您所见,这是您想要为网格中的控件设置的内容,而不是网格本身。

您是否打算设置DataGrid列的宽度?如果是这种情况,你可以这样做:

column.Width = new DataGridLength(1, DataGridLengthUnitType.Auto);

或者像这样,如果你想要它基于DataGrid的整个宽度:

column.Width = new DataGridLength(1, DataGridLengthUnitType.Star);

如果要以编程方式向DataGrid添加新行,可以执行以下操作:

public class DataGridRow
{
    public string Col1 { get; set; }
    public string Col2 { get; set; }
}

...

var row = new DataGridRow{ Col1 = "Column1", Col2 = "Column2" };
dataGrid.Items.Add(row);

如果要设置DataGrid在其父网格中跨越的列数,可以使用以下内容:

   Grid.SetColumnSpan(dataGrid, columnsToSpan);

我只是猜测你想要什么,如果我没有正确理解你,可以随时回复我的回答。

答案 1 :(得分:1)

这就是代码:

   Grid.SetColumnSpan(dataGrid, colSpan);
   Grid.SetRow(dataGrid, row);