首页 > 解决方案 > Xamarin 表单列表视图项目未完全显示

问题描述

我有这个 Xamarin 列表视图:

<ContentPage.Content>
    <ScrollView>
    <StackLayout Padding="20,20,20,20">
            <Grid>
                <StackLayout Margin="10">
                    <Label Text="Quoting and Tankering" Style="{DynamicResource TitleStyle}" Margin="0, 20" HorizontalTextAlignment="Center" />
                    <Label Text="Select Aircraft:" />
                    <Picker Margin="30, 0, 0, 30" x:Name="pickerAircraft" ItemDisplayBinding="{Binding TailNumber}" SelectedItem="{Binding Id}" SelectedIndexChanged="PickerAircraft_SelectedIndexChanged" Title="Aircraft Selector"></Picker>
                    <Button Text="Add Leg" Margin="10,10,10,10" TextColor="Green" Clicked="Button_Clicked_1" />
                    <ListView ItemsSource="{Binding .}" VerticalOptions="Center">
                        <ListView.ItemTemplate>
                            <DataTemplate>
                                <ViewCell>
                                    <StackLayout Padding="10,10,10,10"  HeightRequest="100">
                                        <Label Text="Leg" />
                                        <StackLayout Orientation="Horizontal" HeightRequest="100">
                                            <Entry x:Name="txtICAO" WidthRequest="30" Text="{Binding ICAO}" />
                                            <Button Text="Delete" WidthRequest="50" Clicked="Button_Clicked_2" x:Name="btn_Delete_Item_In_Cart" />
                                        </StackLayout>

                                    </StackLayout>
                                </ViewCell>
                            </DataTemplate>
                        </ListView.ItemTemplate>
                    </ListView>
                    <Button Text="Go to Step 2"
            VerticalOptions="CenterAndExpand"
            HorizontalOptions="Center"
            Clicked="Button_Clicked" />
                </StackLayout>
            </Grid>
    </StackLayout>
    </ScrollView>
</ContentPage.Content>

现在,当我渲染页面时,列表视图项目部分显示,请检查屏幕截图:

在此处输入图像描述

我在 listview 上做错了什么?我是否需要添加一些边距/填充才能显示完整尺寸?

列表视图下方的按钮也未显示。

标签: xamlxamarinxamarin.forms

解决方案


如果您希望所有行占用相同的空间,您可以将 Listviews 设置RowHeight为特定数字。

或者

HasUnevenRows = "true"

尽管如此,您不应该将 ListView 放在 ScrollView 中,因为 ListView 类实现了自己的滚动,并且它只是不接收手势,因为它们都由父 ScrollView 处理。


推荐阅读