Xamarin 表单 Android 和 UWP 中 ListView 的不同视图

A different view of ListView in Xamarin forms Android and UWP

我写了一段代码,用于在 ListView 上显示数据列表。但是,当我在 UWP 和 Android OS 中部署此代码时,它们的行为是不同的。 UWP 程序运行良好并显示所有列表数据。但是,Android 输出在带有滚动选项的单个列表项中显示整个列表。

UWP 输出:

Android 输出:

还有我的 XAML 显示数据的代码:

<ContentPage Title="Edit Data">
<ContentPage.Content>
    <TableView Intent="Menu" HorizontalOptions="StartAndExpand" VerticalOptions="StartAndExpand">
        <TableRoot>
            <TableSection>
                <ViewCell>
                    <StackLayout Orientation="Horizontal" HorizontalOptions="StartAndExpand" VerticalOptions="CenterAndExpand">
                        <ListView SeparatorColor="OrangeRed" ItemsSource="{Binding Items}" HorizontalOptions="StartAndExpand" VerticalOptions="CenterAndExpand">
                            <ListView.ItemTemplate>
                                <DataTemplate>
                                    <ImageCell Text="" Detail="{Binding ., Converter={x:StaticResource TimeToTextValueConv}}" ImageSource="car.png" >
                                    </ImageCell>
                                </DataTemplate>
                            </ListView.ItemTemplate>
                        </ListView>
                    </StackLayout>
                </ViewCell>
            </TableSection>
        </TableRoot>
    </TableView>
</ContentPage.Content>

有人遇到过这个问题吗?

您的页面设置告诉它只创建 1 个单元格并在其中放置一个 ListView。如果您想要 Items 的列表,请仅使用 ListView。不要将 ListView 放在 TableView 中。

修改代码

<ContentPage Title="Edit Data">
    <ListView SeparatorColor="OrangeRed" ItemsSource="{Binding Items}" HorizontalOptions="StartAndExpand" VerticalOptions="CenterAndExpand">
        <ListView.ItemTemplate>
            <DataTemplate>
                <ImageCell Text="" Detail="{Binding ., Converter={x:StaticResource TimeToTextValueConv}}" ImageSource="car.png" />
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
</ContentPage>