2017-10-07 62 views
0

我试图做两个标签,每个都取得父母的宽度的50%(StackLayout) 我试着用Fill,FillAndExpand,StartAndExpand这两个标签的但它没有工作:StackLayout两列各占空间的一半

<StackLayout Orientation="Horizontal"> 
    <Label Text="AAAAAAAAAAAAAAAAAAAAAAAAA" HorizontalOptions="FillAndExpand" /> 
    <Label Text="BBBB" HorizontalOptions="FillAndExpand" /> 
</StackLayout> 

回答

1

改为使用Grid

XAML

<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="*"/> 
    </Grid.ColumnDefinitions> 
    <Label Text="AAAAAAAAAAAAAAAAAAAAAAAAA" Grid.Column="0"/> 
    <Label Text="BBBB" Grid.Column="1"/> 
</Grid> 

两个*什么恶意的列将具有相同的宽度。如果您希望第一列的宽度与第二列的宽度相同,您可以将第一列宽度更改为2*

您也可以使用EndAndExpand将文本右对齐

+0

谢谢。我正在研究如何使用StackLayout,我已经知道Grid。但是我将你的回答标记为一个解决方案,因为我认为StackLayout是不可能的。 –

+0

是的,我不认为单独使用StackLayout是可能的。如果你需要使用一个,你总是可以把网格放入一个StackLayout – cvanbeek

+0

我不明白为什么在两个标签上设置FillAndExpand的StackLayout不起作用。由于我使用'扩展',它不应该为每个标签分配50%的可用空间吗? –