Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
.NET Multi-platform App UI (.NET MAUI) CollectionView är en vy för att presentera listor med data med olika layoutspecifikationer. Det syftar till att tillhandahålla ett mer flexibelt och högpresterande alternativ till ListView.
Följande skärmbild visar en CollectionView som använder ett lodrätt rutnät med två kolumner och tillåter flera val:
CollectionView ska användas för att presentera listor med data som kräver rullning eller markering. En bindbar layout kan användas när data som ska visas inte kräver rullning eller markering. Mer information finns i BindableLayout.
Anmärkning
På iOS och Mac Catalyst är de optimerade hanterare som var valfria i .NET 9 standardhanterare för CollectionView i .NET 10, vilket ger bättre prestanda och stabilitet.
Återgå till .NET 9-beteende
Vi rekommenderar att du använder den nya hanteraren för CollectionView, men om du vill välja bort det här beteendet och återgå till .NET 9-hanteraren kan du använda koden nedan i .MauiProgram.cs
#if IOS || MACCATALYST
builder.ConfigureMauiHandlers(handlers =>
{
handlers.AddHandler<Microsoft.Maui.Controls.CollectionView, Microsoft.Maui.Controls.Handlers.Items.CollectionViewHandler>();
});
#endif
Skillnader i CollectionView och ListView
Api:erna CollectionView och ListView är liknande, men det finns några anmärkningsvärda skillnader:
- CollectionView har en flexibel layoutmodell som gör att data kan visas lodrätt eller vågrätt i en lista eller ett rutnät.
- CollectionView stöder enkel och flera val.
- CollectionView har ingen uppfattning om celler. I stället används en datamall för att definiera utseendet på varje dataobjekt i listan.
- CollectionView använder automatiskt den virtualisering som tillhandahålls av de underliggande interna kontrollerna.
- CollectionView minskar API-ytan för ListView. Många egenskaper och händelser från ListView finns inte i CollectionView.
- CollectionView innehåller inte inbyggda avgränsare.
-
CollectionView utlöser ett undantag om det
ItemsSourceuppdateras från användargränssnittstråden.
Flytta från ListView till CollectionView
ListView implementeringar kan migreras till CollectionView implementeringar med hjälp av följande tabell:
| Begrepp | ListView API | CollectionView |
|---|---|---|
| Uppgifter | ItemsSource |
A CollectionView fylls med data genom att dess egenskap anges ItemsSource . Mer information finns i Fylla i en CollectionView med data. |
| Objektutseende | ItemTemplate |
Utseendet på varje objekt i en CollectionView kan definieras genom att ställa in egenskapen ItemTemplate på en DataTemplate. Mer information finns i Definiera objektutseende. |
| Celler | TextCell, ImageCellViewCell | CollectionView har ingen uppfattning om celler och därför inget begrepp om indikatorer för offentliggörande. I stället används en datamall för att definiera utseendet på varje dataobjekt i listan. |
| Radavgränsare |
SeparatorColor, SeparatorVisibility |
CollectionView innehåller inte inbyggda avgränsare. Dessa kan anges, om så önskas, i objektmallen. |
| Urval |
SelectionMode, SelectedItem |
CollectionView stöder enkel och flera val. Mer information finns i Konfigurera markering av CollectionView-objekt. |
| Radhöjd |
HasUnevenRows, RowHeight |
I en CollectionViewbestäms radhöjden för varje objekt av ItemSizingStrategy egenskapen . Mer information finns i Storlek på objekt. |
| Cache | CachingStrategy |
CollectionView använder automatiskt den virtualisering som tillhandahålls av de underliggande interna kontrollerna. |
| Sidhuvuden och sidfötter |
Header, HeaderElement, HeaderTemplate, Footer, FooterElementFooterTemplate |
CollectionView kan visa ett sidhuvud och en sidfot som rullar med objekten i listan, via Headeregenskaperna , Footer, HeaderTemplateoch FooterTemplate . Mer information finns i Sidhuvuden och sidfötter. |
| Gruppering |
GroupDisplayBinding, GroupHeaderTemplate, , GroupShortNameBindingIsGroupingEnabled |
CollectionView visar korrekt grupperade data genom att ange dess IsGrouped egenskap till true. Grupprubriker och gruppsidfötter kan anpassas genom att ställa in GroupHeaderTemplate egenskaperna och GroupFooterTemplate på DataTemplate objekt. Mer information finns i Visa grupperade data i en CollectionView. |
| Dra för att uppdatera |
IsPullToRefreshEnabled, IsRefreshing, RefreshAllowed, RefreshCommand, RefreshControlColor, , , BeginRefresh()EndRefresh() |
Pull to refresh-funktioner stöds genom att ange en CollectionView som underordnad till en RefreshView. Mer information finns i Hämta för att uppdatera. |
| Kontextmenyobjekt | ContextActions |
Snabbmenyobjekt stöds genom att ange en SwipeView som rotvy i DataTemplate som definierar utseendet på varje dataobjekt i CollectionView. Mer information finns i Snabbmenyer. |
| Rullning | ScrollTo() |
CollectionView definierar ScrollTo metoder som rullar objekt i vyn. Mer information finns i Kontrollera rullning i en CollectionView. |
Bläddra bland exempel