Xamarin.Forms ListView
ListView
est une vue permettant de présenter des listes de données, en particulier des listes longues qui nécessitent un défilement.
Important
CollectionView
est une vue de présentation de listes de données à l’aide de différentes spécifications de disposition. Elle vise à offrir une alternative plus flexible et performante à ListView
. Pour plus d’informations, consultez Xamarin.Forms CollectionView.
Cas d’utilisation
Un ListView
contrôle peut être utilisé dans n’importe quelle situation où vous affichez des listes de données défilantes. La ListView
classe prend en charge les actions de contexte et la liaison de données.
Le ListView
contrôle ne doit pas être confondu avec le TableView
contrôle. Le TableView
contrôle est une meilleure option chaque fois que vous disposez d’une liste non liée d’options ou de données, car il permet aux options prédéfinies d’être spécifiées en XAML. Par exemple, l’application de paramètres iOS, qui a un ensemble d’options principalement prédéfini, est mieux adaptée à l’utilisation d’un TableView
ListView
.
La ListView
classe ne prend pas en charge la définition d’éléments de liste en XAML, vous devez utiliser la propriété ou la ItemsSource
liaison de données avec un ItemTemplate
pour définir des éléments dans la liste.
Il ListView
convient le mieux à une collection composée d’un type de données unique. Cette exigence est due au fait qu’un seul type de cellule peut être utilisé pour chaque ligne de la liste. Le TableView
contrôle peut prendre en charge plusieurs types de cellules. Il est donc préférable d’afficher plusieurs types de données.
Pour plus d’informations sur la liaison de données à une ListView
instance, consultez les sources de données ListView.
Composants
Le ListView
contrôle dispose d’un certain nombre de composants disponibles pour exercer les fonctionnalités natives de chaque plateforme. Ces composants sont définis dans les sections suivantes.
En-têtes et pieds de page
Les composants d’en-tête et de pied de page s’affichent au début et à la fin d’une liste, séparés des données de la liste. Les en-têtes et pieds de page peuvent être liés à une source de données distincte de la source de données de ListView.
Groupes
Les données d’un objet ListView
peuvent être regroupées pour faciliter la navigation. Les groupes sont généralement liés aux données. La capture d’écran suivante montre une ListView
avec des données groupées :
Cellules
Les éléments de données dans un ListView
sont appelés cellules. Chaque cellule correspond à une ligne de données. Il existe des cellules intégrées à choisir, ou vous pouvez définir votre propre cellule personnalisée. Les cellules intégrées et personnalisées peuvent être utilisées/définies en XAML ou en code.
- Les cellules intégrées, telles que le
TextCell
etImageCell
, correspondent aux contrôles natifs et sont particulièrement performantes.- A
TextCell
affiche une chaîne de texte, éventuellement avec du texte détaillé. Le texte de détail est affiché sous la forme d’une deuxième ligne dans une police plus petite avec une couleur d’accentuation. - Une
ImageCell
image s’affiche avec du texte. Apparaît sous la forme d’uneTextCell
image sur la gauche.
- A
- Les cellules personnalisées sont utilisées pour présenter des données complexes. Par exemple, une cellule personnalisée peut être utilisée pour présenter une liste de chansons incluant l’album et l’artiste.
La capture d’écran suivante montre un ListView
élément ImageCell :
Pour en savoir plus sur la personnalisation des cellules dans un ListView
, consultez Personnalisation de l’apparence des cellules ListView.
Fonctionnalités
La ListView
classe prend en charge un certain nombre de styles d’interaction.
- L’extraction vers l’actualisation permet à l’utilisateur d’extraire le
ListView
contenu pour actualiser le contenu. - Les actions de contexte permettent au développeur de spécifier des actions personnalisées sur des éléments de liste individuels. Par exemple, vous pouvez implémenter des actions de balayage à action sur iOS ou des actions de longue durée sur Android.
- La sélection permet au développeur d’attacher des fonctionnalités à des événements de sélection et de désélectionnement sur les éléments de liste.
La capture d’écran suivante montre une ListView
action contextuelle :
Pour en savoir plus sur les fonctionnalités d’interactivité de ListView
, consultez Actions &Interactivité avec ListView.