SharedSizeGroup.axaml代码

<Window xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d"  Height="321.6" Width="380.8"
        x:Class="AvaloniaUI.SharedSizeGroup"
        Title="SharedSizeGroup">
    
    <Grid Grid.IsSharedSizeScope="True" Margin="3" RowDefinitions="*,auto,*">
    
        <Grid Grid.Row="0" Margin="3" Background="LightYellow" ShowGridLines="True">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" SharedSizeGroup="TextLabel"/>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>

            <Label Margin="5">A very long bit of text</Label>
            <!-- <GridSplitter Grid.Column="1" VerticalAlignment="Stretch" HorizontalAlignment="Center" Width="10"></GridSplitter> -->
            <Label Grid.Column="1" Margin="5">More text</Label>
            <TextBox Grid.Column="2" Margin="5">A text box</TextBox>
        </Grid>
        
        <Label Grid.Row="1" >Some text in between the two grids...</Label>
        
        <Grid Grid.Row="2" Margin="3" Background="LightYellow"  ShowGridLines="True">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" SharedSizeGroup="TextLabel"/>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>

            <Label Margin="5">Short</Label>
            <TextBox Grid.Column="1" Margin="5">A text box</TextBox>
        </Grid>
    </Grid>
</Window>

SharedSizeGroup.axaml.cs代码

using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;

namespace AvaloniaUI;

public partial class SharedSizeGroup : Window
{
    public SharedSizeGroup()
    {
        InitializeComponent();
    }
}

运行效果

 

posted on 2025-07-10 14:25  dalgleish  阅读(27)  评论(0)    收藏  举报