Свойство 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
для каждой клетки.