Deprecation of `ListView` in .NET 10 MAUI
- Dominant language
- C#
- Stars
- 23.3k
- Forks
- 2k
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 297
Description
# Deprecation of `ListView` in .NET 10 MAUI
## Summary
Starting with .NET 10 MAUI, `ListView` and all related cell types (`TextCell`, `ImageCell`, `ViewCell`, etc.) will be marked as **obsolete**. Significant improvements are being made to the `CollectionView` experience in .NET 10 and .NET 9 to address developer pain points and ensure it becomes a fully capable and superior alternative. Currently, there are no plans to support existing `Cell` types within `CollectionView`.
---
## Motivation
Our goal is to simplify the developer experience by maintaining a single, optimized control. Focusing our engineering efforts exclusively on `CollectionView` allows us to deliver clearer guidance, better documentation, and enhanced performance.
---
## Recommended Replacement: `CollectionView`
`CollectionView` supports all major features required for effectively displaying data, including:
- **Multiple Layouts:** Vertical, horizontal, and grid layouts.
- **Data Binding Support:** Fully supports binding with `ItemsSource`.
- **Header and Footer Templates:** Easily add headers and footers.
- **Empty View Handling:** Define views for empty state scenarios.
- **Grouping Support:** Group data with advanced header/footer options.
Please let us know about any gaps or reasons you might be hesitant to convert from `ListView`.
---
## Obsoletion Timeline
- **.NET 10 Preview 3:**
- [`ListView` and all related cell types will be marked as **[Obsolete]**.](https://github.com/dotnet/maui/pull/28500)
- `ListView` will continue to function in .NET 10, but bug fixes will generally not be prioritized or actively worked on.
- **.NET 11:**
- We will assess the complete removal of `ListView` or consider moving it to a compatibility NuGet package for legacy scenarios.
---
## Call to Action
- For iOS specifically, developers can now use the new [`CollectionViewHandler2` and `CarouselViewHandler2`](https://learn.microsoft.com/en-us/dotnet/maui/whats-new/dotnet-9?view=net-maui-9.0#collectionview-and-carouselview). Please try these handlers and provide feedback.
- We remain actively committed to prioritizing CollectionView fixes for .NET 9 without slowing down. If you encounter any **blocking issues** preventing you from migrating to `CollectionView`, please [log an issue on the MAUI GitHub repository](https://github.com/dotnet/maui/issues).
Contributor guide
Assessment
This issue has not been assessed yet.