Partager via


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 :

« Données groupées dans un ListView »

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 et ImageCell, 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’une TextCell image sur la gauche.
  • 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 :

« Éléments ImageCell dans un ListView »

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 :

« Actions contextuelles dans un ListView »

Pour en savoir plus sur les fonctionnalités d’interactivité de ListView, consultez Actions &Interactivité avec ListView.