Xamarin.Forms CollectionView tanıtımı
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
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.CollectionViewtek ve birden çok seçimi destekler.CollectionViewHü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.CollectionViewtemel alınan yerel denetimler tarafından belirtilen sanallaştırmayı otomatik olarak kullanır.CollectionViewAPI yüzeyini azaltırListView. ' De birçok özellik ve olay yokturListViewCollectionView.CollectionViewyerleşik ayırıcılar içermez.CollectionView, Xamarin_FormsCollectionView_ItemsView_ItemsSource "Data-LinkType =" Absolute-path ">ItemsSourceKullanı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. |
Örneği indirin