CollectionView

Browse sample. Procházení ukázky

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ů:

Screenshot of a CollectionView vertical grid layout.

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 ListViewCollectionView
  • 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, , FooterElementFooterTemplate CollectionView může prezentovat záhlaví a zápatí, které se posouvat s položkami v seznamu, přes Header, Footer, HeaderTemplatea FooterTemplate vlastnosti. Další informace najdete v tématu Záhlaví a zápatí.
Seskupení GroupDisplayBinding, GroupHeaderTemplate, , GroupShortNameBindingIsGroupingEnabled CollectionView zobrazí správně seskupené data nastavením jeho IsGrouped vlastnosti na truehodnotu . 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.