WPF-使用程式碼建立Grid行與列,並將控制元件新增到Grid中的指定行指定列
阿新 • • 發佈:2019-02-08
在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控制元件再加一層。