Sdílet prostřednictvím


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 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, , 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.