向WPF的Grid里面增加控件

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

创建两行两列的表格:

第一种方法:

[csharp] view plain copy
  1. Grid grid = new Grid();  
  2.             RowDefinition row1 = new RowDefinition();  
  3.             RowDefinition row2 = new RowDefinition();  
  4.             ColumnDefinition col1 = new ColumnDefinition();  
  5.             ColumnDefinition col2 = new ColumnDefinition();  
  6.             grid.RowDefinitions.Add(row1);  
  7.             grid.RowDefinitions.Add(row2);  
  8.             grid.ColumnDefinitions.Add(col1);  
  9.             grid.ColumnDefinitions.Add(col2);  
  10.             grid.ShowGridLines = true;    


第二种方法:

[csharp] view plain copy
  1. Grid grid = new Grid();  
  2.             grid.RowDefinitions.Add(new RowDefinition());  
  3.             grid.RowDefinitions.Add(new RowDefinition());  
  4.             grid.ColumnDefinitions.Add(new ColumnDefinition());  
  5.             grid.ColumnDefinitions.Add(new ColumnDefinition());  
  6.             grid.ShowGridLines = true;   


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

 

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

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

[csharp] view plain copy
  1. TextBox text = new TextBox();  
  2.   
  3. grid.Children.Add(text);  
  4.   
  5. Grid.SetRow(text,1);  
  6.   
  7. Grid.SetColumn(text,1);  
  8.   
  9. //同理也可设置TextBox在Grid中占用的列数或行数:  
  10.   
  11. Grid.SetRowSpan(text,1);  
  12.   
  13. Grid.SetColumnSpan(text,1);  

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

原文地址:https://www.cnblogs.com/dxmfans/p/9434890.html