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

问题描述 投票:0回答:1

我正在尝试创建一个 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。 任何建议将不胜感激。

xamarin xamarin.forms
1个回答
4
投票

如果我将第一个

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>
© www.soinside.com 2019 - 2024. All rights reserved.