Xamarin.Forms Listview

Ejemplo de descarga Descarga del ejemplo

ListView es una vista para presentar listas de datos, especialmente listas largas que requieren desplazamiento.

Importante

CollectionView es una vista para presentar listas de datos con diferentes especificaciones de diseño. Su objetivo es proporcionar una alternativa más flexible y de rendimiento a ListView . Para obtener más información, vea Xamarin.Forms CollectionView.

Casos de uso

Un control se puede usar en cualquier situación en la ListView que se muestren listas desplazables de datos. La ListView clase admite acciones de contexto y enlace de datos.

El ListView control no debe confundirse con el control TableView . El control es una mejor opción siempre que tenga una lista no enlazada de opciones o datos, ya que permite especificar opciones predefinidas TableView en XAML. Por ejemplo, la aplicación de configuración de iOS, que tiene un conjunto predefinido principalmente de opciones, es más adecuada para usar un que TableView un ListView .

La clase no admite la definición de elementos de lista en XAML, debe usar la propiedad o el enlace de datos con ListView para definir elementos de la ItemsSourceItemTemplate lista.

Es ListView más adecuado para una colección que consta de un único tipo de datos. Este requisito se debe a que solo se puede usar un tipo de celda para cada fila de la lista. El control puede admitir varios tipos de celda, por lo TableView que es una mejor opción cuando necesita mostrar varios tipos de datos.

Para obtener más información sobre cómo enlazar datos a una ListView instancia de , vea Orígenes de datos ListView.

Componentes

El ListView control tiene una serie de componentes disponibles para ejercer la funcionalidad nativa de cada plataforma. Estos componentes se definen en las secciones siguientes.

Encabezados y pies de página

Los componentes de encabezado y pie de página se muestran al principio y al final de una lista, separados de los datos de la lista. Los encabezados y pies de página se pueden enlazar a un origen de datos independiente del origen de datos de ListView.

Grupos

Los datos de ListView se pueden agrupar para facilitar la navegación. Los grupos suelen estar enlazados a datos. En la captura de pantalla siguiente se ListView muestra un con datos agrupados:

Celdas

Los elementos de datos de se ListView denominan celdas. Cada celda corresponde a una fila de datos. Hay celdas integradas entre las que elegir o puede definir su propia celda personalizada. Tanto las celdas integradas como las personalizadas se pueden usar o definir en XAML o código.

  • Las celdas integradas,como y , corresponden a controles ImageCell nativos y son especialmente de rendimiento.
    • muestra TextCell una cadena de texto, opcionalmente con texto detallado. El texto de detalle se representa como una segunda línea en una fuente más pequeña con un color de acento.
    • muestra ImageCell una imagen con texto. Aparece como con TextCell una imagen a la izquierda.
  • Las celdas personalizadas se usan para presentar datos complejos. Por ejemplo, se podría usar una celda personalizada para presentar una lista de canciones que incluye el álbum y el intérprete.

En la captura de pantalla siguiente se ListView muestra un elemento con elementos ImageCell:

Para obtener más información sobre cómo personalizar celdas en ListView , vea ListView.

Funcionalidad

La ListView clase admite varios estilos de interacción.

  • La extracción para actualizar permite al usuario extraer para actualizar el contenido.
  • Las acciones de contexto permiten al desarrollador especificar acciones personalizadas en elementos de lista individuales. Por ejemplo, puede implementar acciones de deslizar el dedo a la acción en iOS o acciones de pulsación larga en Android.
  • La selección permite al desarrollador adjuntar funcionalidad a eventos de selección y deselección en elementos de lista.

En la captura de pantalla siguiente se muestra ListView un con acciones de contexto:

Para obtener más información sobre las características de interactividad de ListView , vea ListView.