Xamarin.Forms ListView
ListView
是用于显示数据列表的视图,尤其是需要滚动的长列表。
重要
CollectionView
是使用不同布局规范显示数据列表的视图。 它的目标是提供取代 ListView
的更灵活、更高效的方案。 有关详细信息,请参阅 Xamarin.Forms CollectionView。
用例
在要显示可滚动数据列表的任何情况下,都可以使用 ListView
控件。 ListView
类支持上下文操作和数据绑定。
不应将 ListView
控件与 TableView
控件混淆。 每当具有非绑定的选项或数据列表时,TableView
控件都是一个更好的选项,因为它允许以 XAML 指定预定义的选项。 例如,iOS“设置”应用主要包含预定义的选项集,它更适合使用 TableView
而非 ListView
。
ListView
类不支持以 XAML 定义列表项,你必须将 ItemsSource
属性或数据绑定与 ItemTemplate
一起使用来定义列表中的项。
ListView
最适合用于包含单个数据类型的集合。 存在此要求是因为,只能对列表中的每一行使用一种类型的单元格。 TableView
控件可以支持多个单元格类型,因此当你需要显示多个数据类型时,这是一个更好的选择。
有关将数据绑定到 ListView
实例的详细信息,请参阅 ListView 数据源。
组件
ListView
控件有许多组件可用来利用每个平台的原生功能。 以下各部分阐释了这些组件。
页眉和页脚
页眉和页脚组件显示在列表的开头和末尾,与列表的数据分开。 页眉和页脚可以绑定到来自 ListView 的数据源的单独数据源。
组
可以对 ListView
中的数据进行分组,以便更轻松地进行导航。 组通常会进行数据绑定。 以下屏幕截图显示了包含分组的数据的 ListView
:
单元
ListView
中的数据项称为单元格。 每个单元格对应于一行数据。 有内置单元格可供选择,你也可以定义自己的自定义单元格。 内置单元格和自定义单元格都可以用 XAML 或代码进行使用/定义。
以下屏幕截图显示了包含 ImageCell 项的 ListView
:
若要详细了解如何在 ListView
中自定义单元格,请参阅自定义 ListView 单元格外观。
功能
ListView
类支持多种交互样式。
- 拉取刷新允许用户拉取
ListView
以刷新内容。 - 上下文操作允许开发人员指定对各个列表项的自定义操作。 例如,你可以在 iOS 上实现滑动触发操作,或者在 Android 上实现长按操作。
- 选择允许开发人员将功能附加到列表项上的选择和取消选择事件。
以下屏幕截图显示了包含上下文操作的 ListView
:
若要详细了解 ListView
的交互功能,请参阅 ListView 中的操作和交互。