Xamarin.Forms-ListViewXamarin.Forms ListView

Beispiel herunterladen Herunterladen des BeispielsDownload Sample Download the sample

ListViewist eine Ansicht für die Darstellung von Listen mit Daten, insbesondere für lange Listen, die einen Bildlauf erfordern.ListView is a view for presenting lists of data, especially long lists that require scrolling.

Wichtig

CollectionView ist eine Ansicht für die Darstellung von Listen mit Daten mit unterschiedlichen Layoutspezifikationen.CollectionView is a view for presenting lists of data using different layout specifications. Es zielt darauf ab, eine flexiblere und leistungsfähigere Alternative zu ListViewbereitzustellen.It aims to provide a more flexible, and performant alternative to ListView. Weitere Informationen finden Sie unter Xamarin.Forms: CollectionView.For more information, see Xamarin.Forms CollectionView.

AnwendungsfälleUse cases

Ein ListView -Steuerelement kann in jeder Situation verwendet werden, in der Sie scrollbare Listen mit Daten anzeigen.A ListView control can be used in any situation where you're displaying scrollable lists of data. Die ListView -Klasse unterstützt Kontext Aktionen und Datenbindung.The ListView class supports context actions and data binding.

Das ListView -Steuerelement sollte nicht mit TableView dem-Steuerelement verwechselt werden.The ListView control shouldn't be confused with the TableView control. Das TableView -Steuerelement ist eine bessere Option, wenn Sie über eine nicht gebundene Liste von Optionen oder Daten verfügen, da damit vordefinierte Optionen in XAML angegeben werden können.The TableView control is a better option whenever you have a non-bound list of options or data because it allows predefined options to be specified in XAML. Beispielsweise ist die IOS-Einstellungs-APP, die überwiegend vordefinierten Satz von Optionen verfügt, besser für die Verwendung TableView eines ListViewals geeignet.For example, the iOS settings app, which has a mostly predefined set of options, is better suited to use a TableView than a ListView.

Die ListView -Klasse unterstützt das Definieren von Listenelementen in XAML nicht. ItemsSource Sie müssen die-Eigenschaft oder ItemTemplate die Datenbindung mit einem verwenden, um Elemente in der Liste zu definieren.The ListView class doesn't support defining list items in XAML, you must use the ItemsSource property or data binding with an ItemTemplate to define items in the list.

Eine ListView eignet sich am besten für Sammlungen, die aus einem einzelnen Datentyp bestehen.A ListView is best suited for a collections consisting of a single data type. Diese Anforderung liegt daran, dass für jede Zeile in der Liste nur ein Zellentyp verwendet werden kann.This requirement is because only one type of cell can be used for each row in the list. Das TableView Steuerelement kann mehrere Zelltypen unterstützen, daher ist es eine bessere Option, wenn Sie mehrere Datentypen anzeigen müssen.The TableView control can support multiple cell types, so it is a better option when you need to display multiple data types.

Weitere Informationen zum Binden von Daten an eine ListView -Instanz finden Sie unter ListView-Datenquellen.For more information about binding data to a ListView instance, see ListView data sources.

KomponentenComponents

Das ListView -Steuerelement verfügt über eine Reihe von Komponenten, die für die systemeigene Funktionalität der einzelnen Plattformen verfügbar sind.The ListView control has a number of components available to exercise the native functionality of each platform. Diese Komponenten werden in den folgenden Abschnitten definiert.These components are defined in the following sections.

Kopf-und FußzeilenHeaders and footers

Kopf-und Fußzeilen Komponenten werden am Anfang und am Ende einer Liste getrennt von den Daten der Liste angezeigt.Header and footer components display at the beginning and end of a list, separate from list's data. Kopf-und Fußzeilen können aus der Datenquelle von ListView an eine separate Datenquelle gebunden werden.Headers and footers can be bound to a separate data source from the ListView's data source.

MusikGroups

Daten in einer ListView können zur einfacheren Navigation gruppiert werden.Data in a ListView can be grouped for easier navigation. Gruppen sind in der Regel Daten gebunden.Groups are typically data bound. Der folgende Screenshot zeigt eine ListView mit gruppierten Daten:The following screenshot shows a ListView with grouped data:

Gruppierte Daten in einem ListView-gruppierten Daten in einem ListView-Steuer Punkt "Grouped data in a ListView"

ZellenCells

Datenelemente in einem ListView werden als Zellen bezeichnet.Data items in a ListView are called cells. Jede Zelle entspricht eine Zeile mit Daten.Each cell corresponds to a row of data. Integrierte Zellen zur Auswahl vorhanden sind, oder Sie können eigene benutzerdefinierte Zelle definieren.There are built-in cells to choose from, or you can define your own custom cell. Integrierte und benutzerdefinierte Zellen können in XAML oder Code verwendet oder definiert werden.Both built-in and custom cells can be used/defined in XAML or code.

  • Integrierte Zellen, wie z TextCell . b. und ImageCell, entsprechen systemeigenen Steuerelementen und sind besonders leistungsfähig.Built-in cells, such as the TextCell and ImageCell, correspond to native controls and are especially performant.
    • Eine TextCell zeigt eine Text Zeichenfolge an, optional mit Detail Text.A TextCell displays a string of text, optionally with detail text. Detail-Text wird als eine zweite Zeile in einer kleineren Schriftart mit einer Farbe für Akzente gerendert.Detail text is rendered as a second line in a smaller font with an accent color.
    • Ein ImageCell zeigt ein Bild mit Text an.An ImageCell displays an image with text. Wird als TextCell mit einem Bild auf der linken Seite angezeigt.Appears as a TextCell with an image on the left.
  • Benutzerdefinierte Zellen werden verwendet, um komplexe Daten darzustellen.Custom cells are used to present complex data. Beispielsweise könnte eine benutzerdefinierte Zelle verwendet werden, um eine Liste von Liedern zu präsentieren, die das Album und den Künstler enthält.For example, a custom cell could be used to present a list of songs that includes the album and artist.

Der folgende Screenshot zeigt ein ListView -Element mit ImageCell-Elementen:The following screenshot shows a ListView with ImageCell items:

ImageCell- Elemente in einem ListView-ImageCell-Element in einem ListView-Element "ImageCell items in a ListView"

Weitere Informationen zum Anpassen von Zellen in einem ListViewfinden Sie unter Anpassen der ListView-ZellenDarstellung.To learn more about customizing cells in a ListView, see Customizing ListView Cell Appearance.

FunktionalitätFunctionality

Die ListView -Klasse unterstützt eine Reihe von Interaktions Stilen.The ListView class supports a number of interaction styles.

  • Mit Pull-to-refresh kann der Benutzer den ListView Inhalt nach unten ziehen, um ihn zu aktualisieren.Pull-to-refresh allows the user to pull the ListView down to refresh the contents.
  • Kontext Aktionen ermöglichen es dem Entwickler, benutzerdefinierte Aktionen für einzelne Listenelemente anzugeben.Context actions allow the developer to specify custom actions on individual list items. Beispielsweise können Sie implementieren Wischen-to-Action unter iOS oder lang Sie Aktionen für Android auf.For example, you can implement swipe-to-action on iOS, or long-tap actions on Android.
  • Die Auswahl ermöglicht dem Entwickler das Anfügen von Funktionen an Auswahl-und Auswahl Ereignisse für Listenelemente.Selection allow the developer to attach functionality to selection and deselection events on list items.

Der folgende Screenshot zeigt eine ListView mit Kontext Aktionen:The following screenshot shows a ListView with context actions:

Kontext Aktionen in einem ListView-Kontext in einer ListView "Context actions in a ListView"

Weitere Informationen zu den Interaktivitätsfunktionen von ListViewfinden Sie unter Aktionen & Interaktivität mit ListView.To learn more about the interactivity features of ListView, see Actions & Interactivity with ListView.