Свойство Grid.RowDefinitions Height не работает ни с фиксированным значением, ни с Auto в Xamarin.Forms

Это просто не произойдет. Вот код (если кто-то заметит, да, я отправил почти тот же код с другой проблемой несколько часов назад, сегодня просто не мой день):

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         xmlns:local="clr-namespace:MovieDbApp.UI"
         x:Class="MovieDbApp.View.MoviesPage">
    <ContentPage.Content>
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
            </Grid.RowDefinitions>

            <ListView x:Name="listView" Grid.Row="0">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <ViewCell>
                            <StackLayout VerticalOptions="FillAndExpand">
                                <Label Text="{Binding Title}"/>
                                <Image Source="{Binding PosterPath}" />
                                <Label Text="{Binding ReleaseDate}" />
                                <Label Text="{Binding DisplayGenre}" />
                            </StackLayout>
                        </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
        </Grid>
    </ContentPage.Content>
</ContentPage>

В StackLayout я пытался изменить VerticalOptions в StartAndExpand, FillAndExpand, Fill и даже EndAndExpand, но строка всегда будет иметь одинаковую высоту.

Несмотря на это, я удалил VerticalOptions из StackLayout и установил высоту строки в 5000, но нет, она все та же:

введите описание изображения здесь

Работает на эмуляторе Android. Понятия не имею, что еще делать.

1 ответ

Решение

Попробуйте установить HasUnevenRows="True" на ListView или установить RowHeight свойство к некоторой стоимости. Без установки любого из этих двух значений, ListView использует значение по умолчанию RowHeight для каждой клетки.

Другие вопросы по тегам