Xamarin. Forms ListViewXamarin.Forms ListView

Scaricare l'esempio scaricare l'esempioDownload Sample Download the sample

ListViewè una visualizzazione per la presentazione di elenchi di dati, in particolare gli elenchi lunghi che richiedono lo scorrimento.ListView is a view for presenting lists of data, especially long lists that require scrolling.

Importante

CollectionView è una vista per presentare elenchi di dati usando specifiche di layout diverse.CollectionView is a view for presenting lists of data using different layout specifications. Mira a offrire un'alternativa più flessibile ed efficiente a ListView.It aims to provide a more flexible, and performant alternative to ListView. Per altre informazioni, vedere CollectionView di Xamarin.Forms.For more information, see Xamarin.Forms CollectionView.

Casi d'usoUse cases

Un ListView controllo può essere usato in qualsiasi situazione in cui si visualizzino elenchi di dati scorrevoli.A ListView control can be used in any situation where you're displaying scrollable lists of data. La ListView classe supporta azioni di contesto e data binding.The ListView class supports context actions and data binding.

Il ListView controllo non deve essere confuso con TableView il controllo.The ListView control shouldn't be confused with the TableView control. Il TableView controllo è un'opzione migliore quando si dispone di un elenco non associato di opzioni o dati perché consente di specificare opzioni predefinite in 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. Ad esempio, l'app Impostazioni iOS, che dispone di un set di opzioni principalmente predefinito, è più adatta per l'uso TableView di un ListViewoggetto rispetto a.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 classe non supporta la definizione di elementi elenco in XAML, è necessario ItemsSource usare la proprietà o data binding ItemTemplate con un oggetto per definire gli elementi nell'elenco.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 È ideale per le raccolte costituite da un singolo tipo di dati.A ListView is best suited for a collections consisting of a single data type. Questo requisito è dovuto al fatto che è possibile utilizzare un solo tipo di cella per ogni riga nell'elenco.This requirement is because only one type of cell can be used for each row in the list. Il TableView controllo può supportare più tipi di celle, quindi è un'opzione migliore quando è necessario visualizzare più tipi di dati.The TableView control can support multiple cell types, so it is a better option when you need to display multiple data types.

Per ulteriori informazioni sull'associazione di dati a ListView un'istanza di, vedere ListView Data Sources.For more information about binding data to a ListView instance, see ListView data sources.

ComponentiComponents

Il ListView controllo dispone di un numero di componenti disponibili per esercitare le funzionalità native di ogni piattaforma.The ListView control has a number of components available to exercise the native functionality of each platform. Questi componenti sono definiti nelle sezioni seguenti.These components are defined in the following sections.

Intestazioni e piè di paginaHeaders and footers

I componenti dell'intestazione e del piè di pagina vengono visualizzati all'inizio e alla fine di un elenco, separati dai dati dell'elenco.Header and footer components display at the beginning and end of a list, separate from list's data. Le intestazioni e i piè di pagina possono essere associati a un'origine dati separata dall'origine dati di ListView.Headers and footers can be bound to a separate data source from the ListView's data source.

GruppiGroups

I dati in ListView un oggetto possono essere raggruppati per semplificare la navigazione.Data in a ListView can be grouped for easier navigation. I gruppi sono in genere associati ai dati.Groups are typically data bound. La schermata seguente mostra un ListView con i dati raggruppati:The following screenshot shows a ListView with grouped data:

"Raggruppare dati in un controllo ListView" dati raggruppati in un controllo ListView "Grouped data in a ListView"

CelleCells

Gli elementi di dati ListView in un oggetto sono detti celle.Data items in a ListView are called cells. Ogni cella corrisponde a una riga di dati.Each cell corresponds to a row of data. Sono presenti celle predefinite per scegliere da, o è possibile definire il proprio cella personalizzata.There are built-in cells to choose from, or you can define your own custom cell. Le celle incorporate e personalizzate possono essere usati/definito in XAML o codice.Both built-in and custom cells can be used/defined in XAML or code.

  • Le celle predefinite, ad esempio TextCell e ImageCell, corrispondono ai controlli nativi e sono particolarmente performanti.Built-in cells, such as the TextCell and ImageCell, correspond to native controls and are especially performant.
    • Un TextCell oggetto Visualizza una stringa di testo, facoltativamente con il testo del dettaglio.A TextCell displays a string of text, optionally with detail text. Testo dei dettagli viene visualizzato come una seconda riga in un carattere più piccolo con un colore.Detail text is rendered as a second line in a smaller font with an accent color.
    • Un ImageCell oggetto Visualizza un'immagine con testo.An ImageCell displays an image with text. Viene visualizzato come TextCell con un'immagine a sinistra.Appears as a TextCell with an image on the left.
  • Le celle personalizzate vengono usate per presentare dati complessi.Custom cells are used to present complex data. Ad esempio, è possibile usare una cella personalizzata per presentare un elenco di canzoni che includono album e artista.For example, a custom cell could be used to present a list of songs that includes the album and artist.

La schermata seguente mostra un ListView elemento con ImageCell:The following screenshot shows a ListView with ImageCell items:

"ImageCell elementi in un controllo ListView" elementi ImageCell in un controllo ListView "ImageCell items in a ListView"

Per ulteriori informazioni sulla personalizzazione delle celle in un ListView, vedere personalizzazione dell'aspetto delle celle di ListView.To learn more about customizing cells in a ListView, see Customizing ListView Cell Appearance.

FunzionalitàFunctionality

La ListView classe supporta diversi stili di interazione.The ListView class supports a number of interaction styles.

  • Il pull a Refresh consente all'utente di eseguire il ListView pull per aggiornare il contenuto.Pull-to-refresh allows the user to pull the ListView down to refresh the contents.
  • Le azioni di contesto consentono allo sviluppatore di specificare azioni personalizzate sui singoli elementi dell'elenco.Context actions allow the developer to specify custom actions on individual list items. Ad esempio, è possibile implementare scorrere all'azione in iOS o azioni in Android toccare a lungo.For example, you can implement swipe-to-action on iOS, or long-tap actions on Android.
  • Selezione consente allo sviluppatore di aggiungere la funzionalità agli eventi di selezione e deselezione negli elementi dell'elenco.Selection allow the developer to attach functionality to selection and deselection events on list items.

La schermata seguente mostra un ListView oggetto con azioni di contesto:The following screenshot shows a ListView with context actions:

Azioni di contesto "azioni di contesto in un controllo ListView" in un controllo ListView "Context actions in a ListView"

Per ulteriori informazioni sulle funzionalità di interattività di ListView, vedere azioni & interattività con ListView.To learn more about the interactivity features of ListView, see Actions & Interactivity with ListView.