如何根据子元素的高度自动设置FlexLayout的高度

时间:2018-10-06 16:54:41

标签: xamarin xamarin.forms

我正在尝试创建一个FlexLayout而不指定其高度,因为我想它将从其子级高度获取它。当我这样做时,FlexLayout根本不显示。这是一个简单的代码:

<FlexLayout Direction="Column">
    <Button Text="Test Button" />
    <!-- Here I'm trying to create FlexLayout without specifying its height -->
    <FlexLayout JustifyContent="Start" AlignItems="Start" AlignContent="Start" BackgroundColor="Blue" Direction="RowReverse" Wrap="Wrap">
        <Label Text="Test Label" HeightRequest="50" WidthRequest="50"  BackgroundColor="Yellow" />
    </FlexLayout>
</FlexLayout>

我尝试了所有操作,但是除非我为(内部)FlexLayout指定HeightRequest或FlexLayout.Basis,否则所有操作均无效。 任何建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果我按如下方式将第一个FlexLayout更改为StackLayout,它将起作用。我觉得这很奇怪,我认为它应该在不更改为StackLayout的情况下可以工作:

<StackLayout Orientation="Vertical" Spacing="0">
    <Button Text="Test Button" />
    <FlexLayout JustifyContent="Start" AlignItems="Start" AlignContent="Start" BackgroundColor="Blue" Direction="RowReverse" Wrap="Wrap">
        <Label Text="Test Label" HeightRequest="50" WidthRequest="50"  BackgroundColor="Yellow" />
    </FlexLayout>
</StackLayout>