C# 使用列表动态创建网格

C# 使用列表动态创建网格,c#,list,grid,C#,List,Grid,我正在尝试创建一个动态网格,其中的列等于一个月内的天数(稍后我将在网格出现后添加该功能),行等于emplist列表中对象的数量 这是到目前为止我的代码 Grid dategrid = new Grid(); dategrid.Width = 400; dategrid.HorizontalAlignment = HorizontalAlignment.Left; dategrid.VerticalAlignment = VerticalAlignment.Top; dategrid.ShowGr

我正在尝试创建一个动态网格,其中的列等于一个月内的天数(稍后我将在网格出现后添加该功能),行等于emplist列表中对象的数量

这是到目前为止我的代码

Grid dategrid = new Grid();
dategrid.Width = 400;
dategrid.HorizontalAlignment = HorizontalAlignment.Left;
dategrid.VerticalAlignment = VerticalAlignment.Top;
dategrid.ShowGridLines = true;
dategrid.Background = new SolidColorBrush(Colors.DimGray);
List<ColumnDefinition> columnlist = new List<ColumnDefinition>();
List<RowDefinition> rowlist = new List<RowDefinition>();
for (int i = 0; i < 31; i++)
{
    columnlist.Add(new ColumnDefinition());
    dategrid.ColumnDefinitions.Add(columnlist[i]);
}
for (int i = 0; i < Control.empList.Count; i++)
{
    rowlist.Add(new RowDefinition());
    dategrid.RowDefinitions.Add(rowlist[i]);
    rowlist[i].Height = new GridLength(45);
}
Grid-dategrid=new-Grid();
dategrid.Width=400;
dategrid.HorizontalAlignment=HorizontalAlignment.Left;
dategrid.VerticalAlignment=VerticalAlignment.Top;
dategrid.ShowGridLines=true;
dategrid.Background=新的SolidColorBrush(Colors.DimGray);
List columnlist=新列表();
List rowlist=新列表();
对于(int i=0;i<31;i++)
{
添加(新ColumnDefinition());
dategrid.ColumnDefinitions.Add(columnlist[i]);
}
for(int i=0;i
代码已编译,但窗体上未显示网格。
我觉得这里缺少了一些真正基本的东西,但我一辈子都找不到。

您缺少了
dategrid.Bind()
您的代码没有显示您将网格添加到页面的任何位置。到目前为止,您所展示的只是在内存中实例化一个构建网格的实例。您需要类似于
gridSpace.controls.add(datagrid)
的内容,其中gridSpace是页面上的一个容器。类似于
(任何其他容器都可以…)。或者(如果这是winforms)到窗体上的面板或其他容器