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(); } }