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ı ListViewamaç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:

iOS ve Android'de CollectionView dikey kılavuz düzeninin ekran görüntüsü

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

CollectionViewiOS 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üzeyini ListViewazaltır. 'den ListView birçok özellik ve olay içinde CollectionViewmevcut değildir.
  • CollectionView yerleşik ayırıcılar içermez.
  • CollectionView kullanıcı arabirimi iş parçacığından güncelleştirilirse ItemsSource 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 DataTemplateayarlanarak 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, HeaderTemplateve özellikleri aracılığıyla Headerlistedeki öğ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 trueolarak 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 RefreshViewalt öğ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.