如何在ListView DataTemplate中设置行的高度

时间:2018-01-17 23:40:22

标签: xaml listview xamarin xamarin.forms

问题

如何增加DataTemplate中每行的高度。我已经在不同的元素中多次设置了高度,但行高度并没有从看似默认的高度变化。

我错过了什么?

的Xaml

 <ListView x:Name="ListViewItems">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <ViewCell Tapped="TapGestureRecognizer_Tapped" Height="400">
                            <Grid Padding="5" Margin="5" HeightRequest="400">
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="*"/>
                                    <ColumnDefinition Width="*"/>
                                    <ColumnDefinition/>
                                </Grid.ColumnDefinitions>
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="400"/>
                                </Grid.RowDefinitions>
                                <Label Text="{Binding Title}" Grid.Row="0" Grid.Column="1" FontSize="15"/>
                                <Image Source="@drawable/cereals.png" Aspect="AspectFill" HeightRequest="400" Grid.Row="0" Grid.Column="0" />
                            </Grid>
                        </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>

截图

enter image description here

2 个答案:

答案 0 :(得分:3)

如果要允许ListView行设置自己的高度,则需要将ListView HasUnevenRows属性设置为true。

答案 1 :(得分:0)

刚刚放入HasUnevenRows =“True” 在ListView上。这应该可以解决问题。