ColumnDefinition.Width的數據類型是:GridLength,所以就可以寫為:
column1.Width = new GridLength(1, GridUnitType.Star); //column1為一個實例
如果ColumnDefinition的Width="Auto" 則在C#代碼里就可以寫為
column1.Width =GridLength.Auto;
這里不要搞混了, GridLength.Auto是一個結構,而 new GridLength(1, GridUnitType.Star);是一個類
下面來一個完整的布局代碼,全部使用C#代碼完成(練習的)
public
partial
class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
// 顯示網格
grid1.ShowGridLines = true;
// 行
RowDefinition row1 = new RowDefinition();
RowDefinition row2 = new RowDefinition();
// 列
ColumnDefinition column1 = new ColumnDefinition();
ColumnDefinition column2 = new ColumnDefinition();
// 使用*號布局,當值為1的時候,表示* 值為2的時候,表示2* 就是說,第二列的寬度是第一列寬度的2倍
column1.Width = new GridLength( 1, GridUnitType.Star);
column2.Width = new GridLength( 2, GridUnitType.Star);
Button button1 = new Button();
Button button2 = new Button();
Button button3 = new Button();
Button button4 = new Button();
// 將行和列添加到Grid面板里
grid1.RowDefinitions.Add(row1);
grid1.RowDefinitions.Add(row2);
grid1.ColumnDefinitions.Add(column1);
grid1.ColumnDefinitions.Add(column2);
// 將按鈕添加到Grid面板里
grid1.Children.Add(button1);
grid1.Children.Add(button2);
grid1.Children.Add(button3);
grid1.Children.Add(button4);
button1.Content = " 1 ";
button2.Content = " 2 ";
button3.Content = " 3 ";
button4.Content = " 4 ";
// 設置每個按鈕所在的單元格中
Grid.SetRow(button1, 0);
Grid.SetColumn(button1, 0);
Grid.SetRow(button2, 0);
Grid.SetColumn(button2, 1);
Grid.SetRow(button3, 1);
Grid.SetColumn(button3, 0);
Grid.SetRow(button4, 1);
Grid.SetColumn(button4, 1);
}
}
{
public MainWindow()
{
InitializeComponent();
// 顯示網格
grid1.ShowGridLines = true;
// 行
RowDefinition row1 = new RowDefinition();
RowDefinition row2 = new RowDefinition();
// 列
ColumnDefinition column1 = new ColumnDefinition();
ColumnDefinition column2 = new ColumnDefinition();
// 使用*號布局,當值為1的時候,表示* 值為2的時候,表示2* 就是說,第二列的寬度是第一列寬度的2倍
column1.Width = new GridLength( 1, GridUnitType.Star);
column2.Width = new GridLength( 2, GridUnitType.Star);
Button button1 = new Button();
Button button2 = new Button();
Button button3 = new Button();
Button button4 = new Button();
// 將行和列添加到Grid面板里
grid1.RowDefinitions.Add(row1);
grid1.RowDefinitions.Add(row2);
grid1.ColumnDefinitions.Add(column1);
grid1.ColumnDefinitions.Add(column2);
// 將按鈕添加到Grid面板里
grid1.Children.Add(button1);
grid1.Children.Add(button2);
grid1.Children.Add(button3);
grid1.Children.Add(button4);
button1.Content = " 1 ";
button2.Content = " 2 ";
button3.Content = " 3 ";
button4.Content = " 4 ";
// 設置每個按鈕所在的單元格中
Grid.SetRow(button1, 0);
Grid.SetColumn(button1, 0);
Grid.SetRow(button2, 0);
Grid.SetColumn(button2, 1);
Grid.SetRow(button3, 1);
Grid.SetColumn(button3, 0);
Grid.SetRow(button4, 1);
Grid.SetColumn(button4, 1);
}
}