Xamarin 中 ListView 的不同视图形式 Android 和 UWP

Posted

技术标签:

【中文标题】Xamarin 中 ListView 的不同视图形式 Android 和 UWP【英文标题】:A different view of ListView in Xamarin forms Android and UWP 【发布时间】:2019-08-01 17:23:06 【问题描述】:

我编写了一个代码,用于在 ListView 上显示数据列表。但是,当我在 UWP 和 android 操作系统中部署此代码时,它们的行为是不同的。 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】:

您的页面设置告诉它只创建 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>

【讨论】:

以上是关于Xamarin 中 ListView 的不同视图形式 Android 和 UWP的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin 中 ListView 的不同视图形式 Android 和 UWP

如何知道 ListView 中修改了哪个 Xamarin 表单条目?

使用绑定时滚动 Xamarin Forms 列表视图

Xamarin.Forms 中ListView 修改选中效果

如何在 Xamarin UWP 上的 ListView 中释放内存?

Xamarin 表单中的可扩展 ListView