CollectionView
.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:
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 Header properti , , Footer HeaderTemplate , 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. |