Xamarin表单ListView行高不正确

Dea*_*alk 3 xamarin.ios xamarin xamarin.forms

我一直试图解决在Xamarin Forms(iOS)中渲染ListView时计算的行高的问题

这是我的XAML

<ListView.ItemTemplate>
    <DataTemplate>
        <ViewCell>
            <Grid Padding="20">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="Auto" />
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition Height="*" />
                </Grid.RowDefinitions>
                <StackLayout Orientation="Vertical" Grid.Row="0">
                    <Label Text="{Binding Path=Name}" FontSize="18" />
                    <Label Text="{Binding Path=Teaser}" TextColor="Gray" />
                </StackLayout>
                <StackLayout Grid.Column="1" Grid.Row="0">
                    <Image Source="{Binding Path=ImageUrl}" WidthRequest="100" Aspect="AspectFill"
                           HeightRequest="100" />
                </StackLayout>
            </Grid>
        </ViewCell>
    </DataTemplate>
</ListView.ItemTemplate>
Run Code Online (Sandbox Code Playgroud)

但这是一个如何在模拟器中渲染的屏幕截图

(我绑定到10行相同的数据,这就是为什么每一行看起来都一样)

在此输入图像描述

如您所见,行高度未正确计算行内容.

我可以为ListView设置一个固定的RowHeight,但这并不好,因为不同设备的rowheight需要不同.

有人可以帮忙吗?

Puc*_*ric 7

your_list.HasUnevenRows = true; 
Run Code Online (Sandbox Code Playgroud)

和/或

your_list.RowHeight = 60; 
Run Code Online (Sandbox Code Playgroud)