Xamarin.Forms CollectionView tanıtımı

Örnek indir Örneği indirin

CollectionView , farklı düzen belirtimleri kullanarak veri listeleri sunma görünümüdür. Daha esnek ve iyi bir alternatif sağlar ListView . Örneğin, aşağıdaki ekran görüntülerinde CollectionView iki sütunlu dikey kılavuz kullanan ve çoklu seçime izin veren bir gösterilmektedir:

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

CollectionView kaydırma veya seçim gerektiren verilerin listesini 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. Bindable Layouts in Xamarin.Forms.

CollectionView 4,3 adresinden kullanılabilir Xamarin.Forms .

Önemli

CollectionViewiOS ve Android 'de kullanılabilir, ancak Evrensel Windows Platformu yalnızca CollectionView .

CollectionView ve ListView farklılıkları

CollectionViewVe ListView API 'ler benzer olsa da bazı önemli farklılıklar vardır:

  • CollectionView , bir listede veya ızgarada verilerin 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, bir veri şablonu listedeki her bir veri öğesinin görünümünü tanımlamak için kullanılır.
  • CollectionView temel alınan yerel denetimler tarafından belirtilen sanallaştırmayı otomatik olarak kullanır.
  • CollectionView API yüzeyini azaltır ListView . ' De birçok özellik ve olay yoktur ListViewCollectionView .
  • CollectionView yerleşik ayırıcılar içermez.
  • CollectionView, Xamarin_Forms CollectionView _ItemsView_ItemsSource "Data-LinkType =" Absolute-path ">ItemsSource Kullanıcı arabirimi iş parçacığından güncelleştirilirse bir özel durum oluşturur.

ListView 'dan CollectionView 'a taşı

ListView Mevcut uygulamalardaki uygulamalar Xamarin.FormsCollectionView aşağıdaki tablonun yardımıyla uygulamalara geçirilebilir:

Konsept ListView API'si CollectionView
Veriler ItemsSource , CollectionView Özelliği ayarlanarak verilerle doldurulur ItemsSource . Daha fazla bilgi için bkz. bir CollectionView 'ı verilerle doldurma.
Öğe görünümü ItemTemplate İçindeki her öğenin görünümü, CollectionViewItemTemplate özelliği bir olarak ayarlanarak tanımlanabilir DataTemplate . Daha fazla bilgi için bkz. öğe görünümünü tanımlama.
Hücreler TextCell, ImageCell, ViewCell CollectionView , hiçbir hücre kavramı içermez ve bu nedenle bir açıklama göstergesi kavramı yoktur. Bunun yerine, bir veri şablonu listedeki her bir veri öğesinin görünümünü tanımlamak için kullanılır.
Satır ayırıcıları SeparatorColor, SeparatorVisibility CollectionView yerleşik ayırıcılar içermez. Bu, istenirse, öğe şablonunda sağlaneklenebilir.
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 Bir içinde CollectionView , her öğenin satır yüksekliği özelliği tarafından belirlenir ItemSizingStrategy . Daha fazla bilgi için bkz. öğe boyutlandırma.
Önbelleğe Alma CachingStrategy CollectionView , temel alınan yerel denetimler tarafından sunulan sanallaştırmayı otomatik olarak kullanır.
Üstbilgiler ve altbilgiler Header, HeaderElement, HeaderTemplate, Footer, FooterElement, FooterTemplate CollectionView ,,, ve özellikleri aracılığıyla listedeki öğelerle kaydırılan bir üst bilgi ve alt bilgi sunabilir HeaderFooterHeaderTemplateFooterTemplate . Daha fazla bilgi için bkz. üstbilgiler ve altbilgiler.
Gruplandırma GroupDisplayBinding, GroupHeaderTemplate, GroupShortNameBinding, IsGroupingEnabled CollectionView özelliğini olarak ayarlayarak doğru gruplanmış verileri görüntüler IsGroupedtrue . GroupHeaderTemplateVe GroupFooterTemplate özellikleri nesneler olarak ayarlanarak grup üstbilgileri ve grup altbilgileri özelleştirilebilir DataTemplate . Daha fazla bilgi için bkz. Xamarin.Forms CollectionView Grouping.
Yenilemeye çek IsPullToRefreshEnabled, IsRefreshing, RefreshAllowed, RefreshCommand, RefreshControlColor, BeginRefresh(), EndRefresh() Yenileme işlevine çekme özelliği, a CollectionView 'nın alt öğesi olarak ayarlanarak desteklenir RefreshView . Daha fazla bilgi için bkz. yenilemeye yönelik çekme.
Bağlam menüsü öğeleri ContextActions Bağlam menüsü öğeleri, içindeki SwipeViewDataTemplate her bir veri öğesinin görünümünü tanımlayan öğesinde kök görünüm olarak ayarlanarak desteklenir CollectionView . Daha fazla bilgi için bkz. Bağlam menüleri.
Kaydırma ScrollTo() CollectionViewScrollToöğeleri görünüme kaydırmak için kullanılan yöntemleri tanımlar. Daha fazla bilgi için bkz. kaydırma.