StackLayout 两列,每列占用一半的空间

Don*_*Box 8 xamarin.forms

我正在尝试制作两个标签,每个标签都占用父级(StackLayout)宽度的 50% 我尝试在两个标签上使用 Fill、FillAndExpand、StartAndExpand 但它没有用:

<StackLayout Orientation="Horizontal">
    <Label Text="AAAAAAAAAAAAAAAAAAAAAAAAA" HorizontalOptions="FillAndExpand" />
    <Label Text="BBBB" HorizontalOptions="FillAndExpand" />
</StackLayout>
Run Code Online (Sandbox Code Playgroud)

cva*_*eek 10

使用 aGrid代替。

XAML

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <Label Text="AAAAAAAAAAAAAAAAAAAAAAAAA" Grid.Column="0"/>
    <Label Text="BBBB" Grid.Column="1"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)

这两个*s 表示列将具有相同的宽度。如果您希望第一列的宽度是第二列的两倍,您可以将第一列的宽度更改为2*

您还可以使用EndAndExpand使文本右对齐

  • 我不明白为什么在两个标签上都设置了 FillAndExpand 的 StackLayout 不起作用。由于我使用的是“扩展”,它不应该为每个标签分配 50% 的可用空间吗? (2认同)