Xamarin.Forms CollectionView'a Giriş
CollectionView
, farklı düzen belirtimlerini kullanarak veri listelerini sunmaya yönelik bir görünümdür. için daha esnek ve performanslı bir alternatif sağlamayı ListView
amaçlar. Örneğin, aşağıdaki ekran görüntüleri iki sütunlu dikey kılavuz kullanan ve birden çok seçime izin veren bir CollectionView
ekran görüntüsü gösterir:
CollectionView
kaydırma veya seçim gerektiren veri listelerini sunmak için kullanılmalıdır. Görüntülenecek veriler kaydırma veya seçim gerektirmediğinde bağlanabilir bir düzen kullanılabilir. Daha fazla bilgi için bkz . içindeki Xamarin.FormsBağlanabilir Düzenler.
CollectionView
4.3'ten Xamarin.Forms itibaren kullanılabilir.
Önemli
CollectionView
iOS ve Android'de kullanılabilir, ancak yalnızca Evrensel Windows Platformu kısmen kullanılabilir.
CollectionView ve ListView farklılıkları
ve ListView
API'leri CollectionView
benzer olsa da bazı önemli farklılıklar vardır:
CollectionView
, verilerin bir listede veya kılavuzda dikey veya yatay olarak sunulmasını sağlayan esnek bir düzen modeline sahiptir.CollectionView
tek ve birden çok seçimi destekler.CollectionView
hücre kavramı yoktur. Bunun yerine, listedeki her veri öğesinin görünümünü tanımlamak için bir veri şablonu kullanılır.CollectionView
, temel alınan yerel denetimler tarafından sağlanan sanallaştırmayı otomatik olarak kullanır.CollectionView
API yüzeyiniListView
azaltır. 'denListView
birçok özellik ve olay içindeCollectionView
mevcut değildir.CollectionView
yerleşik ayırıcılar içermez.CollectionView
kullanıcı arabirimi iş parçacığından güncelleştirilirseItemsSource
bir özel durum oluşturur.
ListView'dan CollectionView'a taşıma
ListView
mevcut uygulamalardaki Xamarin.Forms uygulamalar, aşağıdaki tablonun yardımıyla uygulamalara geçirilebilir CollectionView
:
Konsept | ListView API'si | CollectionView |
---|---|---|
Veri | ItemsSource |
özelliği CollectionView ayarlanarak ItemsSource verilerle doldurulur. Daha fazla bilgi için bkz . CollectionView'ı verilerle doldurma. |
Öğe görünümü | ItemTemplate |
içindeki her öğenin CollectionView görünümü, özelliği olarak DataTemplate ayarlanarak ItemTemplate tanımlanabilir. Daha fazla bilgi için bkz . Öğe görünümünü tanımlama. |
Cells | TextCell , ImageCell , ViewCell |
CollectionView hücre kavramı yoktur ve bu nedenle açıklama göstergeleri kavramı yoktur. Bunun yerine, listedeki her veri öğesinin görünümünü tanımlamak için bir veri şablonu kullanılır. |
Satır ayırıcıları | SeparatorColor , SeparatorVisibility |
CollectionView yerleşik ayırıcılar içermez. Bunlar, istenirse öğe şablonunda sağlanabilir. |
Seçim | SelectionMode , SelectedItem |
CollectionView tek ve birden çok seçimi destekler. Daha fazla bilgi için bkz Xamarin.Forms . CollectionView Selection. |
Satır yüksekliği | HasUnevenRows , RowHeight |
içinde CollectionView , her öğenin satır yüksekliği özelliği tarafından ItemSizingStrategy belirlenir. Daha fazla bilgi için bkz . Öğe boyutlandırma. |
Önbelleğe Alma | CachingStrategy |
CollectionView otomatik olarak temel alınan yerel denetimler tarafından sağlanan sanallaştırmayı kullanır. |
Üstbilgiler ve altbilgiler | Header , HeaderElement , HeaderTemplate , , Footer , FooterElement , FooterTemplate |
CollectionView , Footer , HeaderTemplate ve özellikleri aracılığıyla Header listedeki öğelerle birlikte kaydıran bir üst bilgi ve FooterTemplate alt bilgi sunabilir. Daha fazla bilgi için bkz . Üst bilgiler ve alt bilgiler. |
Gruplama | GroupDisplayBinding , GroupHeaderTemplate , GroupShortNameBinding , IsGroupingEnabled |
CollectionView özelliğini true olarak ayarlayarak IsGrouped doğru gruplandırılmış verileri görüntüler. Ve özellikleri DataTemplate nesnelere ayarlanarak GroupHeaderTemplate grup üst bilgileri ve GroupFooterTemplate grup alt bilgileri özelleştirilebilir. Daha fazla bilgi için bkz Xamarin.Forms . CollectionView Gruplandırma. |
Yenilemek için çekme | IsPullToRefreshEnabled , IsRefreshing , RefreshAllowed , , RefreshCommand , RefreshControlColor , BeginRefresh() , EndRefresh() |
Yenilemek için çekme işlevi, öğesinin CollectionView RefreshView alt öğesi olarak ayarlanarak desteklenir. Daha fazla bilgi için bkz . Yenilemek için çekme. |
Bağlam menüsü öğeleri | ContextActions |
Bağlam menüsü öğeleri, içindeki DataTemplate her veri CollectionView öğesinin görünümünü tanımlayan kök görünümü olarak ayarlanarak SwipeView desteklenir. Daha fazla bilgi için bkz . Bağlam menüleri. |
Kaydırma | ScrollTo() |
CollectionView öğeleri görünüme kaydıran yöntemleri tanımlar ScrollTo . Daha fazla bilgi için bkz . Kaydırma. |