Avalonia 使用程式碼方式 在一個Grid的配置兩列兩行空間 並在每一個空間放入一個按鈕
Avalonia 使用程式碼方式 在一個Grid的配置兩列兩行空間 並在每一個空間放入一個按鈕
資料來源: copilot
欄位平均分配:
using Avalonia.Controls;
using Avalonia.Layout;
using Avalonia;
public class Example
{
public Example()
{
// 創建一個Grid控件
var grid = new Grid();
// 定義兩行
grid.RowDefinitions.Add(new RowDefinition(GridLength.Auto));
grid.RowDefinitions.Add(new RowDefinition(GridLength.Auto));
// 定義兩列
grid.ColumnDefinitions.Add(new ColumnDefinition(GridLength.Auto));
grid.ColumnDefinitions.Add(new ColumnDefinition(GridLength.Auto));
// 在每個空間中放入按鈕
for (int row = 0; row < 2; row++)
{
for (int col = 0; col < 2; col++)
{
var button = new Button
{
Content = $"Button ({row}, {col})",
Margin = new Thickness(5)
};
// 設置按鈕的位置
Grid.SetRow(button, row);
Grid.SetColumn(button, col);
// 將按鈕添加到Grid中
grid.Children.Add(button);
}
}
// 創建一個窗口並將Grid設置為窗口的內容
var window = new Window
{
Content = grid,
Width = 300,
Height = 200
};
window.Show();
}
}
欄位寬度變成1:3
using Avalonia.Controls;
using Avalonia.Layout;
using Avalonia;
public class Example
{
public Example()
{
// 創建一個Grid控件
var grid = new Grid();
// 定義兩行
grid.RowDefinitions.Add(new RowDefinition(GridLength.Auto));
grid.RowDefinitions.Add(new RowDefinition(GridLength.Auto));
// 定義兩列,第一列佔比1,第二列佔比3
grid.ColumnDefinitions.Add(new ColumnDefinition(new GridLength(1, GridUnitType.Star)));
grid.ColumnDefinitions.Add(new ColumnDefinition(new GridLength(3, GridUnitType.Star)));
// 在每個空間中放入按鈕
for (int row = 0; row < 2; row++)
{
for (int col = 0; col < 2; col++)
{
var button = new Button
{
Content = $"Button ({row}, {col})",
Margin = new Thickness(5)
};
// 設置按鈕的位置
Grid.SetRow(button, row);
Grid.SetColumn(button, col);
// 將按鈕添加到Grid中
grid.Children.Add(button);
}
}
// 創建一個窗口並將Grid設置為窗口的內容
var window = new Window
{
Content = grid,
Width = 300,
Height = 200
};
window.Show();
}
}