Как убрать пустое пространство после Items внутри ListView?

Достаточно распространенная проблема. Вот как она выглядит на деле: введите сюда описание изображения

После всех элементов списка остается пустое пространство. Оно остается из-за того что ListView.Height = 610 по умолчанию. ListView не будет подстраиваться под высоту всех своих Items, если их общая высота не будет больше 610.

Как можно решить эту проблему? Как сделать так, чтобы этого пространства (лишней высоты) не было?

Пробовал решения отсюда, но они не помогли...

P.S. Не предлагайте, пожалуйста, варианты с установкой жестко-зафиксированной высоты для ListView. Мне такой вариант не подходит.


ОБНОВЛЕНО

Разметка страницы:

<ScrollView>
    <StackLayout>
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>

            <custom:CustomFrame CornerRadius="0, 0, 0, 10" BackgroundColor="#f9f9f9" HorizontalOptions="Start">
                <Label Text="{Binding CurrentTicket.Number, StringFormat='Билет {0}'}" />
            </custom:CustomFrame>

            <custom:CustomFrame Grid.Column="1" CornerRadius="0, 0, 10, 0" WidthRequest="60" BackgroundColor="#f9f9f9" HorizontalOptions="End">
                <Label Text="{Binding TimeLeft}" HorizontalOptions="Center" />
            </custom:CustomFrame>
        </Grid>
        <Label Text="{Binding CurrentTicket.Question}" FontSize="24" HorizontalTextAlignment="Center" TextColor="#0051DE" Margin="15, 20"/>

        <ListView x:Name="List" HasUnevenRows="True" SeparatorVisibility="None" ItemsSource="{Binding CurrentTicket.Answers}" SelectedItem="{Binding SelectedAnswer}" VerticalOptions="Start">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <custom:CustomViewCell SelectedItemBackgroundColor="White">
                        <ViewCell.View>
                            <custom:CustomFrame Padding="15, 10" Margin="10, 5" CornerRadius="10" BackgroundColor="#F8FBFF">
                                <Label Text="{Binding Value}" FontSize="17" TextColor="#464E56"/>

                                <custom:CustomFrame.Triggers>
                                    <DataTrigger TargetType="custom:CustomFrame" Binding="{Binding IsSelected}" Value="True">
                                        <Setter Property="BackgroundColor" Value="#9DF2FF"/>
                                    </DataTrigger>
                                </custom:CustomFrame.Triggers>
                            </custom:CustomFrame>
                        </ViewCell.View>
                    </custom:CustomViewCell>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>

        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>

            <custom:CustomFrame BackgroundColor="#f9f9f9" CornerRadius="0, 10, 0, 0">
                <Label>
                    <Label.FormattedText>
                        <FormattedString>
                            <Span Text="{Binding TestProgress.TotalPassedTickets}" />
                            <Span Text="/" />
                            <Span Text="{Binding TestProgress.TotalTickets}" />
                        </FormattedString>
                    </Label.FormattedText>
                </Label>
            </custom:CustomFrame>
            <Button Grid.Column="1" Text="Дальше" BackgroundColor="#FFFFFF" BorderColor="#f1f1f1" BorderWidth="1" CornerRadius="0" HorizontalOptions="End" Padding="50, 20" Command="{Binding Continue}"/>
        </Grid>
    </StackLayout>
</ScrollView>

Ответы (1 шт):

Автор решения: Николай Смирнов

Сам столкнулся с этой проблемой и решение было найдено такое: отказаться от ListView в пользу BindableLayout. Пример кода:

<StackLayout BackgroundColor="Green">
                <StackLayout.Resources>
                    <x:Array x:Key="strings"
                             Type="{x:Type x:String}">
                        <x:String>lol</x:String>
                        <x:String>KEK</x:String>
                        <x:String>Chebureck</x:String>
                    </x:Array>
                </StackLayout.Resources>
                <StackLayout BackgroundColor="Coral"
                             BindableLayout.ItemsSource="{StaticResource strings}">
                </StackLayout>
</StackLayout>

Подробнее о BindableLayout тут.

→ Ссылка