首页 > 解决方案 > Grid.RowDefinitions Height 属性不适用于 Xamarin.Forms 中的固定值和 Auto

问题描述

它只是不会发生。这是代码(如果有人注意到,是的,几个小时前我发布了几乎相同的代码但有不同的问题,今天不是我的日子):

<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 中,我尝试更改VerticalOptionsStartAndExpand、和 even ,但该行将始终具有相同的高度。FillAndExpandFillEndAndExpand

尽管如此,我从 StackLayout 中删除了 VerticalOptions 并将行高设置为 5000 但不,它仍然是相同的:

在此处输入图像描述

在安卓模拟器上运行。不知道还能做什么。

标签: androidxamarin.formsrowdefinition

解决方案


尝试HasUnevenRows="True"ListView上设置或将RowHeight属性设置为某个值。如果不设置这两个值中的任何一个,ListView 将使用RowHeight每个单元格的默认值。


推荐阅读