Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
CollectionView to widok do prezentowania list danych przy użyciu różnych specyfikacji układu. Ma na celu zapewnienie bardziej elastycznej i wydajnej alternatywy dla ListViewprogramu . Na przykład na poniższych zrzutach ekranu przedstawiono obiekt CollectionView , który używa dwukolumny pionowej siatki i umożliwia wybór wielu elementów:
CollectionView należy użyć do prezentowania list danych, które wymagają przewijania lub zaznaczenia. Układ możliwy do powiązania może być używany, gdy wyświetlane dane nie wymagają przewijania ani zaznaczenia. Aby uzyskać więcej informacji, zobacz Bindable Layouts in Xamarin.Forms.
CollectionView jest dostępny w wersji Xamarin.Forms 4.3.
Ważne
CollectionViewjest dostępny w systemach iOS i Android, ale jest dostępny tylko częściowo w platforma uniwersalna systemu Windows.
Różnice w elementy CollectionView i ListView
CollectionView Chociaż interfejsy API i ListView są podobne, istnieją pewne istotne różnice:
CollectionViewma elastyczny model układu, który umożliwia prezentowanie danych w pionie lub w poziomie na liście lub w siatce.CollectionViewobsługuje wybór pojedynczy i wielokrotny.CollectionViewnie ma pojęcia komórek. Zamiast tego szablon danych służy do definiowania wyglądu każdego elementu danych na liście.CollectionViewautomatycznie wykorzystuje wirtualizację dostarczaną przez podstawowe kontrolki natywne.CollectionViewzmniejsza powierzchnię interfejsu API .ListViewWiele właściwości i zdarzeń zListViewprogramu nie jest obecnych w plikuCollectionView.CollectionViewnie zawiera wbudowanych separatorów.CollectionViewzgłosi wyjątek, jeśli zostanieItemsSourcezaktualizowany wątek interfejsu użytkownika.
Przechodzenie z widoku ListView do obiektu CollectionView
ListView Implementacje istniejących Xamarin.Forms aplikacji można migrować do CollectionView implementacji za pomocą poniższej tabeli:
| Pojęcie | Interfejs API ListView | CollectionView |
|---|---|---|
| Data | ItemsSource |
Obiekt CollectionView jest wypełniany danymi, ustawiając jego ItemsSource właściwość. Aby uzyskać więcej informacji, zobacz Wypełnianie obiektu CollectionView danymi. |
| Wygląd elementu | ItemTemplate |
Wygląd każdego elementu w obiekcie CollectionView można zdefiniować, ustawiając ItemTemplate właściwość na DataTemplatewartość . Aby uzyskać więcej informacji, zobacz Definiowanie wyglądu elementu. |
| Cells | TextCell, , ImageCellViewCell |
CollectionView nie ma pojęcia komórek, a zatem nie ma pojęcia wskaźników ujawnienia. Zamiast tego szablon danych służy do definiowania wyglądu każdego elementu danych na liście. |
| Separatory wierszy | SeparatorColor, SeparatorVisibility |
CollectionView nie zawiera wbudowanych separatorów. Można je podać w razie potrzeby w szablonie elementu. |
| Wybór | SelectionMode, SelectedItem |
CollectionView obsługuje wybór pojedynczy i wielokrotny. Aby uzyskać więcej informacji, zobacz Xamarin.Forms CollectionView Selection (Wybór obiektu CollectionView). |
| Wysokość wiersza | HasUnevenRows, RowHeight |
W elemencie CollectionViewwysokość wiersza każdego elementu jest określana ItemSizingStrategy przez właściwość . Aby uzyskać więcej informacji, zobacz Ustalanie rozmiaru elementu. |
| Buforowanie | CachingStrategy |
CollectionView automatycznie używa wirtualizacji udostępnianej przez podstawowe kontrolki natywne. |
| Nagłówki i stopki | Header, , HeaderElement, HeaderTemplate, Footer, , FooterElementFooterTemplate |
CollectionView Może przedstawiać nagłówek i stopkę, które przewijają elementy na liście za pośrednictwem Headerwłaściwości , Footer, HeaderTemplatei FooterTemplate . Aby uzyskać więcej informacji, zobacz Nagłówki i stopki. |
| Grupowanie | GroupDisplayBinding, , GroupHeaderTemplate, , GroupShortNameBindingIsGroupingEnabled |
CollectionView Wyświetla poprawnie zgrupowane dane, ustawiając jego IsGrouped właściwość na true. Nagłówki grup i stopki grup można dostosować, ustawiając GroupHeaderTemplate właściwości i GroupFooterTemplate na DataTemplate obiekty. Aby uzyskać więcej informacji, zobacz Xamarin.Forms CollectionView Grouping (Grupowanie obiektu CollectionView). |
| Przeciągnij, aby odświeżyć | IsPullToRefreshEnabled, IsRefreshing, , RefreshAllowed, RefreshCommand, RefreshControlColor, , BeginRefresh()EndRefresh() |
Funkcja ściągania do odświeżania jest obsługiwana przez ustawienie elementu CollectionView podrzędnego elementu RefreshView. Aby uzyskać więcej informacji, zobacz Ściąganie, aby odświeżyć. |
| Elementy menu kontekstowego | ContextActions |
Elementy menu kontekstowego są obsługiwane przez ustawienie SwipeView jako widoku głównego w DataTemplate obiekcie , który definiuje wygląd każdego elementu danych w elemencie CollectionView. Aby uzyskać więcej informacji, zobacz Menu kontekstowe. |
| Przewijanie | ScrollTo() |
CollectionView definiuje ScrollTo metody, które przewijają elementy do widoku. Aby uzyskać więcej informacji, zobacz Przewijanie. |
