The Xamarin.Forms ListView control renders a set of data items in a vertical or horizontal orientation in a linear or grid structure. It supports all the essential features such as swiping, template selectors, horizontal and vertical orientations, pull-to-refresh, load more, reordering items, autofitting items, and much more. The control also supports sorting, grouping, and filtering with optimizations for working with large amounts of data.
Data binding works out of the box for the most popular data sources such as Lists, ObservableCollection and much more. The ListView has built-in support to load data from data sources and supports sorting, grouping, and filtering out of the box.
The ListView provides the best possible performance on the Xamarin platform with an optimized reuse strategy, smooth scrolling experience, and virtualization, even when loading large data sets.
The ListView supports two different layouts: linear and grid. The linear layout arranges items in a single column, whereas the grid layout arranges items in a predefined number of columns. Both layouts are supported in a horizontal list view as well.
Host any view or control to customize the ListView items using data templates. The control supports customizing each item by dynamic selection of the UI using a data template selector.
Easily configure a horizontal ListView to load items in a horizontal orientation based on your business requirements.
Associate swipe views with custom actions. Swipe views are displayed by swiping from left to right or right to left over an item.
Reorder items by dragging them either with a long press or from the drag indicator view. ListView supports customizing item appearances while dragging.
Refresh the data source at runtime by performing a pull-to-refresh action.
Load more data at runtime either automatically or manually when the end of a list is reached. You can also load more data manually at the top of the list. The ListView supports customizing the loading indicator and load more buttons.
Display the ListView items in an accordion view. Each item can be expanded or stretched to reveal the content associated with that item. No items, exactly one item, or more than one item can be expanded at a time depending on the configuration.
Easy and flexible way to use all the necessary properties and commands of Xamarin.Forms ListView in the MVVM approach.. Pull-to-refresh and load more are also supported seamlessly in the MVVM pattern.
Sort data in ascending or descending order in programmatically and XAML as well. Custom sorting logic is also supported.
Group items with easy-to-use APIs and use custom grouping logic. ListView also supports expanding and collapsing groups, and freezing group headers.
Set predicates to easily filter items by searching data and view data as needed.
Automatically update the UI when adding new items and deleting items in the underlying collection. Update the sorting and grouping when changing business objects.
Display a header view at the top of the control and customize the header UI. The ListView also supports freezing a header or making it scrollable.
Freeze a footer at the bottom of the control or make it scrollable. Customize the footer by adding any view such as an image, text, and more.
Dynamically change the size of items to enhance their readability.
Xamarin.Forms ListView items can be paged using the data pager control, which supports interactively manipulating data.
Specify the required space between items in the ListView for an elegant look and feel.
Customize the size of the header, footer, group header, and items in a ListView. It’s also possible to autofit them based on their content.
Customize ListView items with rounded corners to match the native user experience.
Apply alternating row styling to the ListView items based on specific conditions for better data readability.
Customize the appearance of ListView items to show drop shadow effects using frames. The ListView also supports applying the built-in Xamarin.Forms effects to an item.
Apply styling for each item in the ListView based on different conditions. This allows you to apply styling to particular views for an item or an entire row based on the property values of the business object.
Apply default and custom animations to the ListView items when they appear in the view, when scrolling, when navigating from one page to another page, or when interacting with an item.
All static text within the ListView can be localized to any desired language.