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:
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é
CollectionView
je 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 plochuListView
rozhraní API . Mnoho vlastností audálostchListView
CollectionView
CollectionView
neobsahuje předdefinované oddělovače.CollectionView
vyvolá výjimku, pokudItemsSource
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 , , ImageCell ViewCell |
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 , , 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 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 RefreshView souboru . 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() |
CollectionView ScrollTo definuje metody, které se posunou položky do zobrazení. Další informace naleznete v tématu Posouvání. |