Sdílet prostřednictvím


Xamarin.Forms Úvod do KolekceView

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. Například následující snímky obrazovky ukazují CollectionView , že se používá svislá mřížka se dvěma sloupci a která umožňuje vícenásobný výběr:

Snímek obrazovky s rozložením svislé mřížky CollectionView v iOSu a Androidu

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 Bindable Layouts in Xamarin.Forms.

CollectionView je k dispozici od Xamarin.Forms verze 4.3.

Důležité

CollectionViewje k dispozici v iOSu a Androidu, ale je k dispozici pouze částečně na Univerzální platforma Windows.

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 v existujících Xamarin.Forms aplikacích 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 Xamarin.Forms CollectionView Selection.
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 Xamarin.Forms CollectionView Grouping.
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é se posunou položky do zobrazení. Další informace naleznete v tématu Posouvání.