Почему вложенный FlexLayout не виден в этом случае? - PullRequest
0 голосов
/ 24 сентября 2018

Код:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:FlexLayout2"
             x:Class="FlexLayout2.MainPage">

    <FlexLayout
        Direction="Column"
        JustifyContent="Start"
        AlignItems="Stretch">
        <FlexLayout
            Direction="Row"
            JustifyContent="Start"
            AlignItems="Stretch">
            <BoxView Color="Red"/>
            <BoxView Color="Black"/>
        </FlexLayout>

        <BoxView Color="Yellow"/>

    </FlexLayout>

</ContentPage>

Что я получил: Изображение

Что я ожидал: Изображение

Вопрос говоритвсе это.Чего мне не хватает?

Xamarin Forms 3.2

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

У меня та же проблема, что и у вас.Если вы хотите, чтобы высота FlexLayout была установлена ​​автоматически, измените первый FlexLayout на StackLayout, чтобы ваш код был следующим:

<StackLayout Orientation="Vertical" Spacing="0">
    <FlexLayout Direction="Row" JustifyContent="Start" AlignItems="Stretch">
        <BoxView Color="Red"/>
        <BoxView Color="Black"/>
    </FlexLayout>
    <BoxView Color="Yellow"/>
</StackLayout>

Я не знаю, почему этоне работает, если у вас есть FlexLayout внутри другого FlexLayout, если вы не укажете высоту внутреннего.Может быть, это ошибка.

0 голосов
/ 25 сентября 2018

Кажется, что внешний FlexLayout устанавливает высоту внутреннего на ноль, если вы полагаетесь на значение по умолчанию.Попробуйте следующий код

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:FlexLayout2"
             x:Class="FlexLayout2.MainPage">    
    <FlexLayout
        Direction="Column"
        JustifyContent="Start"
        AlignItems="Stretch">
        <FlexLayout HeightRequest="40"
            Direction="Row"
            JustifyContent="Start"
            AlignItems="Stretch">
            <BoxView Color="Red"/>
            <BoxView Color="Black"/>
        </FlexLayout>    
        <BoxView Color="Yellow"/>   
    </FlexLayout>    
</ContentPage>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...