Freigeben über


CollectionView

Browse sample.Durchsuchen des Beispiels

CollectionView von .NET Multi-Platform App UI (.NET MAUI) ist eine Ansicht zum Darstellen von Listen mit Daten mithilfe verschiedener Layoutspezifikationen. Sie bietet eine flexiblere und leistungsfähigere Alternative zu ListView.

Der folgende Screenshot zeigt CollectionView mit einem vertikalen Raster mit zwei Spalten und ermöglicht mehrere Auswahlmöglichkeiten:

Screenshot of a CollectionView vertical grid layout.

CollectionView sollte für die Darstellung von Listen mit Daten verwendet werden, die einen Bildlauf oder eine Auswahl erfordern. Ein bindbares Layout kann verwendet werden, wenn die anzuzeigenden Daten keinen Bildlauf oder keine Auswahl erfordern. Weitere Informationen finden Sie unter BindableLayout.

Unterschiede zwischen CollectionView und ListView

Zwar sind die APIs CollectionView und ListView ähnlich, es gibt jedoch einige wichtige Unterschiede:

  • CollectionView weist ein flexibles Layoutmodell auf, mit dem Daten vertikal oder horizontal in einer Liste oder einem Raster dargestellt werden können.
  • CollectionView unterstützt die Einzel- und Mehrfachauswahl.
  • CollectionView hat kein Konzept von Zellen. Stattdessen wird eine Datenvorlage verwendet, um die Darstellung der einzelnen Datenelemente in der Liste zu definieren.
  • CollectionView verwendet automatisch die Virtualisierung, die von den zugrunde liegenden nativen Steuerelementen bereitgestellt wird.
  • CollectionView reduziert die API-Oberfläche von ListView. Viele Eigenschaften und Ereignisse von ListView sind in CollectionView nicht vorhanden.
  • CollectionView enthält keine integrierten Trennzeichen.
  • CollectionView löst eine Ausnahme aus, wenn ItemsSource aus dem UI-Thread aktualisiert wird.

Wechseln von ListView zu CollectionView

ListView-Implementierungen können mithilfe der folgenden Tabelle zu CollectionView-Implementierungen migriert werden:

Konzept ListView-API CollectionView
Daten ItemsSource CollectionView wird mit Daten aufgefüllt, indem die Eigenschaft ItemsSource festgelegt wird. Weitere Informationen finden Sie unter Füllen einer CollectionView mit Daten.
Darstellung von Elementen ItemTemplate Die Darstellung der Elemente in CollectionView kann definiert werden, indem die Eigenschaft ItemTemplate auf DataTemplate festgelegt wird. Weitere Informationen finden Sie unter Definieren der Darstellung des Elements.
Zellen TextCell, ImageCell, ViewCell CollectionView hat kein Konzept von Zellen und daher kein Konzept der Offenlegungsindikatoren. Stattdessen wird eine Datenvorlage verwendet, um die Darstellung der einzelnen Datenelemente in der Liste zu definieren.
Zeilentrennzeichen SeparatorColor, SeparatorVisibility CollectionView enthält keine integrierten Trennzeichen. Diese können bei Bedarf in der Elementvorlage bereitgestellt werden.
Auswahl SelectionMode, SelectedItem CollectionView unterstützt die Einzel- und Mehrfachauswahl. Weitere Informationen finden Sie unter Konfigurieren der CollectionView-Elementauswahl.
Zeilenhöhe HasUnevenRows, RowHeight In CollectionView wird die Zeilenhöhe jedes Elements durch die Eigenschaft ItemSizingStrategy bestimmt. Weitere Informationen finden Sie unter Anpassen der Größe von Elementen.
Caching CachingStrategy CollectionView verwendet automatisch die Virtualisierung, die von den zugrunde liegenden nativen Steuerelementen bereitgestellt wird.
Kopf- und Fußzeilen Header, HeaderElement, HeaderTemplate, Footer, FooterElement, FooterTemplate CollectionView kann über die Eigenschaften Header, Footer, HeaderTemplate und FooterTemplate eine Kopf- und Fußzeile darstellen, die mit den Elementen der Liste mitlaufen. Weitere Informationen finden Sie unter Kopf- und Fußzeilen.
Gruppierung GroupDisplayBinding, GroupHeaderTemplate, GroupShortNameBinding, IsGroupingEnabled CollectionView zeigt korrekt gruppierte Daten an, indem seine Eigenschaft IsGrouped auf true gesetzt wird. Gruppenkopf- und Gruppenfußzeilen können angepasst werden, indem die Eigenschaften GroupHeaderTemplate und GroupFooterTemplate auf DataTemplate Objekte gesetzt werden. Für weitere Informationen siehe Gruppierte Daten in einer CollectionView anzeigen.
Aktualisierung durch Ziehen IsPullToRefreshEnabled, IsRefreshing, RefreshAllowed, RefreshCommand, RefreshControlColor, BeginRefresh(), EndRefresh() Die Pull-to-Refresh-Funktionalität wird unterstützt, indem ein CollectionView als untergeordnetes Element eines RefreshView gesetzt wird. Weitere Informationen finden Sie unter Pull-to-Refresh.
Kontextmenüelemente ContextActions Kontextmenüeinträge werden unterstützt, indem eine SwipeView als Stammansicht in der DataTemplate festgelegt wird, die das Aussehen jedes Datenelements in der CollectionView definiert. Weitere Informationen finden Sie unter Kontextmenüs.
Scrollen ScrollTo() CollectionView definiert ScrollTo-Methoden, die Elemente in die Ansicht blättern. Weitere Informationen finden Sie unter Steuerung des Bildlaufs in einer CollectionView.