Xamarin.Forms Pengantar CollectionView
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
. Misalnya, cuplikan layar berikut menunjukkan CollectionView
yang menggunakan kisi vertikal dua kolom, dan yang 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 Tata Letak yang Dapat Diikat di Xamarin.Forms.
CollectionView
tersedia dari Xamarin.Forms 4.3.
Penting
CollectionView
tersedia di iOS dan Android, tetapi hanya tersedia sebagian di Platform Windows Universal.
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.CollectionView
mengurangi permukaan API .ListView
Banyak properti dan peristiwa dariListView
tidak ada diCollectionView
.CollectionView
tidak menyertakan pemisah bawaan.CollectionView
akan memberikan pengecualian jikaItemsSource
diperbarui dari utas UI.
Pindahkan dari ListView ke CollectionView
ListView
implementasi dalam aplikasi yang ada Xamarin.Forms 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 Xamarin.Forms Pilihan CollectionView. |
Tinggi baris | HasUnevenRows , RowHeight |
CollectionView Dalam , 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 |
CollectionView dapat 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 Xamarin.Forms Pengelompokan 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() |
CollectionView ScrollTo menentukan metode, yang menggulir item ke dalam tampilan. Untuk informasi selengkapnya, lihat Menggulir. |