WPF-使用代码创建Grid行与列,并将控件添加到Grid中的指定行指定列

时间:2021-12-05 14:14:32

在c#中,有时需要通过代码创建面板控件,但是对于面板的操作与之前的控件并不是很直观,因此记下方法,以供后来复习使用:

创建两行两列的表格:

第一种方法:

Grid grid = new Grid();
            RowDefinition row1 = new RowDefinition();
            RowDefinition row2 = new RowDefinition();
            ColumnDefinition col1 = new ColumnDefinition();
            ColumnDefinition col2 = new ColumnDefinition();
            grid.RowDefinitions.Add(row1);
            grid.RowDefinitions.Add(row2);
            grid.ColumnDefinitions.Add(col1);
            grid.ColumnDefinitions.Add(col2);
            grid.ShowGridLines = true;  


第二种方法:

Grid grid = new Grid();
            grid.RowDefinitions.Add(new RowDefinition());
            grid.RowDefinitions.Add(new RowDefinition());
            grid.ColumnDefinitions.Add(new ColumnDefinition());
            grid.ColumnDefinitions.Add(new ColumnDefinition());
            grid.ShowGridLines = true; 


其中第一种方法可以自定义行与列的属性,第二种是auto属性,根据不同场景使用不同的方式。

 

向创建的表格中添加控件:

向之前创建的表格的第二行第二列加一个TextBox控件,代码如下:

TextBox text = new TextBox();

grid.Children.Add(text);

Grid.SetRow(text,1);

Grid.SetColumn(text,1);

//同理也可设置TextBox在Grid中占用的列数或行数:

Grid.SetRowSpan(text,1);

Grid.SetColumnSpan(text,1);

注意:Grid面板不能嵌套在Grid中,如需在Grid下重新设计表格,使用stackPanel控件再加一层。