ListView de Xamarin.FormsXamarin.Forms ListView

Descargar ejemplo descargar el ejemploDownload Sample Download the sample

ListViewes una vista para presentar listas de datos, especialmente listas largas que requieren desplazamiento.ListView is a view for presenting lists of data, especially long lists that require scrolling.

Importante

CollectionView es una vista para presentar listas de datos con diferentes especificaciones de diseño.CollectionView is a view for presenting lists of data using different layout specifications. Pretende proporcionar una alternativa más flexible y de rendimiento a ListView.It aims to provide a more flexible, and performant alternative to ListView. Para obtener más información, vea CollectionView de Xamarin.Forms.For more information, see Xamarin.Forms CollectionView.

Casos de usoUse cases

Se ListView puede usar un control en cualquier situación en la que se muestren listas desplazables de datos.A ListView control can be used in any situation where you're displaying scrollable lists of data. La ListView clase admite acciones de contexto y enlace de datos.The ListView class supports context actions and data binding.

El ListView control no debe confundirse con TableView el control.The ListView control shouldn't be confused with the TableView control. El TableView control es una opción mejor cuando tiene una lista no enlazada de opciones o datos, ya que permite especificar opciones predefinidas en XAML.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. Por ejemplo, la aplicación de configuración de iOS, que tiene un conjunto de opciones principalmente predefinida, es más adecuada para TableView usar un ListViewque.For example, the iOS settings app, which has a mostly predefined set of options, is better suited to use a TableView than a ListView.

La ListView clase no admite la definición de elementos de lista en XAML, debe ItemsSource utilizar la propiedad ItemTemplate o el enlace de datos con para definir los elementos de la lista.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.

ListView Es más adecuado para las colecciones que se componen de un solo tipo de datos.A ListView is best suited for a collections consisting of a single data type. Este requisito se debe a que solo se puede usar un tipo de celda para cada fila de la lista.This requirement is because only one type of cell can be used for each row in the list. El TableView control puede admitir varios tipos de celda, por lo que es una opción mejor cuando necesita mostrar varios tipos de datos.The TableView control can support multiple cell types, so it is a better option when you need to display multiple data types.

Para obtener más información sobre cómo enlazar ListView datos a una instancia de, vea orígenes de datos de ListView.For more information about binding data to a ListView instance, see ListView data sources.

ComponentesComponents

El ListView control tiene una serie de componentes disponibles para ejecutar la funcionalidad nativa de cada plataforma.The ListView control has a number of components available to exercise the native functionality of each platform. Estos componentes se definen en las secciones siguientes.These components are defined in the following sections.

Encabezados y pies de páginaHeaders and footers

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.Header and footer components display at the beginning and end of a list, separate from list's data. Los encabezados y pies de página se pueden enlazar a un origen de datos independiente del origen de datos de ListView.Headers and footers can be bound to a separate data source from the ListView's data source.

FamiliasGroups

Los datos de ListView un se pueden agrupar para facilitar la navegación.Data in a ListView can be grouped for easier navigation. Los grupos normalmente están enlazados a datos.Groups are typically data bound. En la captura de pantalla ListView siguiente se muestra un con datos agrupados:The following screenshot shows a ListView with grouped data:

"Datos agrupados en un control ListView" agrupados en un control ListView "Grouped data in a ListView"

CeldasCells

Los elementos de datos ListView de un se denominan celdas.Data items in a ListView are called cells. Cada celda corresponde a una fila de datos.Each cell corresponds to a row of data. Hay celdas integradas que puede elegir, o puede definir su propia celda personalizada.There are built-in cells to choose from, or you can define your own custom cell. Las celdas integradas y personalizadas pueden ser usa/definido en XAML o código.Both built-in and custom cells can be used/defined in XAML or code.

  • Las celdas integradas, TextCell como y ImageCell, corresponden a los controles nativos y tienen un rendimiento muy eficaz.Built-in cells, such as the TextCell and ImageCell, correspond to native controls and are especially performant.
    • Un TextCell muestra una cadena de texto, opcionalmente con texto detallado.A TextCell displays a string of text, optionally with detail text. Texto de detalle se representa como una segunda línea en una fuente menor con un color de énfasis.Detail text is rendered as a second line in a smaller font with an accent color.
    • Un ImageCell muestra una imagen con texto.An ImageCell displays an image with text. Aparece como un TextCell con una imagen a la izquierda.Appears as a TextCell with an image on the left.
  • Las celdas personalizadas se usan para presentar datos complejos.Custom cells are used to present complex data. Por ejemplo, una celda personalizada podría usarse para presentar una lista de canciones que incluye el álbum y el intérprete.For example, a custom cell could be used to present a list of songs that includes the album and artist.

En la captura de pantalla ListView siguiente se muestra un elemento con elementos ImageCell:The following screenshot shows a ListView with ImageCell items:

(images/image-cell-default-cropped.png)](images/image-cell-default.png#lightbox "Elementos de ImageCell") de [elementos ImageCell en un control ListView ![]"ImageCell items in a ListView"

Para obtener más información sobre cómo personalizar las celdas ListViewde un, vea personalizar el aspecto de las celdas de ListView.To learn more about customizing cells in a ListView, see Customizing ListView Cell Appearance.

FuncionalidadFunctionality

La ListView clase admite varios estilos de interacción.The ListView class supports a number of interaction styles.

  • La extracción a actualización permite al usuario extraer el ListView contenido para actualizar el contenido.Pull-to-refresh allows the user to pull the ListView down to refresh the contents.
  • Las acciones de contexto permiten al desarrollador especificar acciones personalizadas en elementos individuales de la lista.Context actions allow the developer to specify custom actions on individual list items. Por ejemplo, puede implementar la acción de pasar el dedo en iOS, o mantenga pulsado acciones en Android.For example, you can implement swipe-to-action on iOS, or long-tap actions on Android.
  • La selección permite al desarrollador adjuntar la funcionalidad a los eventos de selección y anulación de selección en los elementos de la lista.Selection allow the developer to attach functionality to selection and deselection events on list items.

En la captura de pantalla ListView siguiente se muestra un con acciones de contexto:The following screenshot shows a ListView with context actions:

Acciones de contexto "acciones de contexto en un control ListView" en un control ListView "Context actions in a ListView"

Para obtener más información sobre las características de interactividad de ListView, vea acciones & interactividad con ListView.To learn more about the interactivity features of ListView, see Actions & Interactivity with ListView.