1. 程式人生 > >WPF-使用程式碼建立Grid行與列,並將控制元件新增到Grid中的指定行指定列

WPF-使用程式碼建立Grid行與列,並將控制元件新增到Grid中的指定行指定列

在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控制元件再加一層。