Bagikan melalui


CollectionView

Browse sample. Telusuri sampel

.NET Multi-platform App UI (.NET MAUI) CollectionView adalah tampilan untuk menyajikan daftar data menggunakan spesifikasi tata letak yang berbeda. Ini bertujuan untuk memberikan alternatif yang lebih fleksibel, dan berkinerja untuk ListView.

Cuplikan layar berikut menunjukkan CollectionView yang menggunakan kisi vertikal dua kolom dan memungkinkan beberapa pilihan:

Screenshot of a CollectionView vertical grid layout.

CollectionView harus digunakan untuk menyajikan daftar data yang memerlukan pengguliran atau pilihan. Tata letak yang dapat diikat dapat digunakan saat data yang akan ditampilkan tidak memerlukan pengguliran atau pilihan. Untuk informasi selengkapnya, lihat BindableLayout.

Perbedaan CollectionView dan ListView

CollectionView Meskipun API dan ListView serupa, ada beberapa perbedaan penting:

  • CollectionView memiliki model tata letak fleksibel, yang memungkinkan data disajikan secara vertikal atau horizontal, dalam daftar atau kisi.
  • CollectionView mendukung pilihan tunggal dan ganda.
  • CollectionView tidak memiliki konsep sel. Sebagai gantinya, templat data digunakan untuk menentukan tampilan setiap item data dalam daftar.
  • CollectionView secara otomatis menggunakan virtualisasi yang disediakan oleh kontrol asli yang mendasar.
  • CollectionViewmengurangi permukaan API .ListView Banyak properti dan peristiwa dari ListView tidak ada di CollectionView.
  • CollectionView tidak menyertakan pemisah bawaan.
  • CollectionView akan memberikan pengecualian jika ItemsSource diperbarui dari utas UI.

Pindahkan dari ListView ke CollectionView

ListView implementasi dapat dimigrasikan ke CollectionView implementasi dengan bantuan tabel berikut:

Konsep ListView API CollectionView
Data ItemsSource CollectionView diisi dengan data dengan mengatur propertinyaItemsSource. Untuk informasi selengkapnya, lihat Mengisi CollectionView dengan data.
Tampilan item ItemTemplate Tampilan setiap item dalam CollectionView dapat ditentukan dengan mengatur ItemTemplate properti ke DataTemplate. Untuk informasi selengkapnya, lihat Menentukan tampilan item.
Sel TextCell, ImageCell, ViewCell CollectionView tidak memiliki konsep sel, dan oleh karena itu tidak ada konsep indikator pengungkapan. Sebagai gantinya, templat data digunakan untuk menentukan tampilan setiap item data dalam daftar.
Pemisah baris SeparatorColor, SeparatorVisibility CollectionView tidak menyertakan pemisah bawaan. Ini dapat disediakan, jika diinginkan, dalam templat item.
Pilihan SelectionMode, SelectedItem CollectionView mendukung pilihan tunggal dan ganda. Untuk informasi selengkapnya, lihat Mengonfigurasi pilihan item CollectionView.
Tinggi baris HasUnevenRows, RowHeight CollectionViewDalam , tinggi baris setiap item ditentukan oleh ItemSizingStrategy properti . Untuk informasi selengkapnya, lihat Ukuran item.
penembolokan CachingStrategy CollectionView secara otomatis menggunakan virtualisasi yang disediakan oleh kontrol asli yang mendasar.
Header dan footer Header, HeaderElement, HeaderTemplate, Footer, FooterElement, FooterTemplate CollectionViewdapat menyajikan header dan footer yang menggulir dengan item dalam daftar, melalui Headerproperti , , FooterHeaderTemplate, dan FooterTemplate . Untuk informasi selengkapnya, lihat Header dan footer.
Pengelompokan GroupDisplayBinding, GroupHeaderTemplate, GroupShortNameBinding, IsGroupingEnabled CollectionView menampilkan data yang dikelompokkan dengan benar dengan mengatur propertinya IsGrouped ke true. Header grup dan footer grup dapat dikustomisasi dengan mengatur GroupHeaderTemplate properti dan GroupFooterTemplate ke DataTemplate objek. Untuk informasi selengkapnya, lihat Menampilkan data yang dikelompokkan dalam CollectionView.
Tarik untuk menyegarkan IsPullToRefreshEnabled, IsRefreshing, RefreshAllowed, RefreshCommand, RefreshControlColor, BeginRefresh(), EndRefresh() Tarik untuk menyegarkan fungsionalitas didukung dengan mengatur CollectionView sebagai anak dari RefreshView. Untuk informasi selengkapnya, lihat Menarik untuk menyegarkan.
Item menu konteks ContextActions Item menu konteks didukung dengan mengatur SwipeView sebagai tampilan akar dalam DataTemplate yang menentukan tampilan setiap item data di CollectionView. Untuk informasi selengkapnya, lihat Menu konteks.
Pengguliran ScrollTo() CollectionViewScrollTo menentukan metode, yang menggulir item ke dalam tampilan. Untuk informasi selengkapnya, lihat Mengontrol pengguliran di CollectionView.