Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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é
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ů:
CollectionViewmá flexibilní model rozložení, který umožňuje zobrazení dat svisle nebo vodorovně v seznamu nebo mřížce.CollectionViewpodporuje jeden a více výběrů.CollectionViewnemá žádný koncept buněk. Místo toho se šablona dat používá k definování vzhledu každé položky dat v seznamu.CollectionViewautomaticky využívá virtualizaci poskytovanou podkladovými nativními ovládacími prvky.CollectionViewsnižuje plochuListViewrozhraní API . Mnoho vlastností audálostchListViewCollectionViewCollectionViewneobsahuje předdefinované oddělovače.CollectionViewvyvolá výjimku, pokudItemsSourceje 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í. |
