Avalonia 使用程式碼方式 在一個Grid的配置兩列兩行空間 並在每一個空間放入一個按鈕

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

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *