CollectionView
Uživatelské rozhraní aplikace .NET pro více platforem (.NET MAUI) CollectionView je zobrazení pro prezentaci seznamů dat pomocí různých specifikací rozložení. Cílem je poskytnout flexibilnější a výkonnější alternativu k ListView.
Následující snímek obrazovky ukazuje CollectionView , že používá svislou mřížku se dvěma sloupci a umožňuje více výběrů:
CollectionView je vhodné použít k prezentaci seznamů dat, která vyžadují posouvání nebo výběr. Rozložení s možností vazby se dá použít, když data, která se mají zobrazit, nevyžadují posouvání ani výběr. Další informace naleznete v tématu BindableLayout.
Rozdíly mezi objekty CollectionView a ListView
CollectionView I když jsou rozhraní ListView API podobná, existuje několik nájemných rozdílů:
- CollectionView má flexibilní model rozložení, který umožňuje zobrazení dat svisle nebo vodorovně v seznamu nebo mřížce.
- CollectionView podporuje jeden a více výběrů.
- CollectionView nemá žádný koncept buněk. Místo toho se šablona dat používá k definování vzhledu každé položky dat v seznamu.
- CollectionView automaticky využívá virtualizaci poskytovanou podkladovými nativními ovládacími prvky.
- CollectionView snižuje plochu ListViewrozhraní API . Mnoho vlastností audálostch ListView CollectionView
- CollectionView neobsahuje předdefinované oddělovače.
- CollectionView vyvolá výjimku, pokud
ItemsSource
je její aktualizace mimo vlákno uživatelského rozhraní.
Přechod z ListView do CollectionView
ListView implementace je možné migrovat na CollectionView implementace pomocí následující tabulky:
Koncepce | Rozhraní API objektu ListView | CollectionView |
---|---|---|
Data | ItemsSource |
A CollectionView se naplní daty nastavením jeho ItemsSource vlastnosti. Další informace najdete v tématu Naplnění objektu CollectionView daty. |
Vzhled položky | ItemTemplate |
Vzhled každé položky v objektu CollectionView lze definovat nastavením ItemTemplate vlastnosti na hodnotu DataTemplate. Další informace naleznete v tématu Definování vzhledu položky. |
Cells | TextCell, , ImageCellViewCell | CollectionView nemá žádný koncept buněk, a proto žádný koncept ukazatelů zpřístupnění. Místo toho se šablona dat používá k definování vzhledu každé položky dat v seznamu. |
Oddělovače řádků | SeparatorColor , SeparatorVisibility |
CollectionView neobsahuje předdefinované oddělovače. V šabloně položky je možné je v případě potřeby poskytnout. |
Výběr | SelectionMode , SelectedItem |
CollectionView podporuje jeden a více výběrů. Další informace naleznete v tématu Konfigurace výběru položky CollectionView. |
Výška řádku | HasUnevenRows , RowHeight |
V objektu CollectionView, výška řádku každé položky je určena ItemSizingStrategy vlastností. Další informace naleznete v tématu Určení velikosti položky. |
Ukládání do mezipaměti | CachingStrategy |
CollectionView automaticky používá virtualizaci poskytovanou podkladovými nativními ovládacími prvky. |
Záhlaví a zápatí | Header , HeaderElement , HeaderTemplate , Footer , , FooterElement FooterTemplate |
CollectionView může prezentovat záhlaví a zápatí, které se posouvat s položkami v seznamu, přes Header , Footer , HeaderTemplate a FooterTemplate vlastnosti. Další informace najdete v tématu Záhlaví a zápatí. |
Seskupení | GroupDisplayBinding , GroupHeaderTemplate , , GroupShortNameBinding IsGroupingEnabled |
CollectionView zobrazí správně seskupené data nastavením jeho IsGrouped vlastnosti na true hodnotu . Záhlaví skupin a zápatí skupin lze přizpůsobit nastavením GroupHeaderTemplate a GroupFooterTemplate vlastností na DataTemplate objekty. Další informace naleznete v tématu Zobrazení seskupených dat v objektu CollectionView. |
Obnovení k aktualizaci | IsPullToRefreshEnabled , IsRefreshing , RefreshAllowed , RefreshCommand , RefreshControlColor , , BeginRefresh() EndRefresh() |
Funkce vyžádané aktualizace je podporována nastavením CollectionView podřízeného RefreshViewsouboru . Další informace najdete v tématu Obnovení k aktualizaci. |
Položky místní nabídky | ContextActions |
Položky místní nabídky jsou podporovány nastavením SwipeView jako kořenového zobrazení, DataTemplate které definuje vzhled každé položky dat v objektu CollectionView. Další informace naleznete v tématu Místní nabídky. |
Posouvání | ScrollTo() |
CollectionViewScrollTo definuje metody, které posunují položky do zobrazení. Další informace naleznete v tématu Ovládací prvek posouvání v CollectionView. |