Condividi tramite


Xamarin.Forms ListView

ListView è una visualizzazione per la presentazione di elenchi di dati, in particolare elenchi lunghi che richiedono lo scorrimento.

Importante

CollectionView è una vista per presentare elenchi di dati usando specifiche di layout diverse. Mira a offrire un'alternativa più flessibile ed efficiente a ListView. Per altre informazioni, vedere Xamarin.Forms CollectionView.

Casi d'uso

Un ListView controllo può essere usato in qualsiasi situazione in cui vengono visualizzati elenchi scorrevoli di dati. La ListView classe supporta azioni di contesto e data binding.

Il ListView controllo non deve essere confuso con il TableView controllo . Il TableView controllo è un'opzione migliore ogni volta che hai un elenco non associato di opzioni o dati perché consente di specificare opzioni predefinite in XAML. Ad esempio, l'app delle impostazioni iOS, che ha un set di opzioni prevalentemente predefinito, è più adatto per usare un oggetto TableView rispetto a .ListView

La ListView classe non supporta la definizione di elementi di elenco in XAML, devi usare la proprietà o il ItemsSource data binding con un ItemTemplate per definire gli elementi nell'elenco.

Un ListView oggetto è più adatto per le raccolte costituite da un singolo tipo di dati. Questo requisito è dovuto al fatto che è possibile usare un solo tipo di cella per ogni riga nell'elenco. Il TableView controllo può supportare più tipi di cella, quindi è un'opzione migliore quando è necessario visualizzare più tipi di dati.

Per altre informazioni sul binding dei dati a un'istanza ListView di , vedere Origini dati ListView.

Componenti

Il ListView controllo dispone di numerosi componenti disponibili per esercitare la funzionalità nativa di ogni piattaforma. Questi componenti sono definiti nelle sezioni seguenti.

Intestazioni e piè di pagina

I componenti intestazione e piè di pagina vengono visualizzati all'inizio e alla fine di un elenco, separati dai dati dell'elenco. Le intestazioni e i piè di pagina possono essere associati a un'origine dati separata dall'origine dati di ListView.

Gruppi

I dati in un ListView possono essere raggruppati per semplificare la navigazione. I gruppi sono in genere associati a dati. Lo screenshot seguente mostra un ListView oggetto con dati raggruppati:

Celle

Gli elementi di dati in un ListView oggetto sono denominati celle. Ogni cella corrisponde a una riga di dati. Sono disponibili celle predefinite tra cui scegliere oppure è possibile definire una cella personalizzata. Sia le celle predefinite che le celle personalizzate possono essere usate/definite in XAML o nel codice.

  • Le celle predefinite, ad esempio TextCell e ImageCell, corrispondono ai controlli nativi e sono particolarmente efficienti.
    • Un TextCell oggetto visualizza una stringa di testo, facoltativamente con testo dettagliato. Il rendering del testo di dettaglio viene eseguito come seconda riga in un tipo di carattere più piccolo con un colore principale.
    • Un ImageCell oggetto visualizza un'immagine con testo. Viene visualizzato come oggetto TextCell con un'immagine a sinistra.
  • Le celle personalizzate vengono usate per presentare dati complessi. Ad esempio, una cella personalizzata può essere usata per presentare un elenco di canzoni che includono l'album e l'artista.

Lo screenshot seguente mostra un ListView oggetto con gli elementi ImageCell:

Per altre informazioni sulla personalizzazione delle celle in un ListView, vedere Personalizzazione dell'aspetto della cella ListView.

Funzionalità

La ListView classe supporta diversi stili di interazione.

  • L'aggiornamento tramite trascinamento verso il basso consente all'utente di eseguire il pull verso il ListView basso per aggiornare il contenuto.
  • Le azioni di contesto consentono allo sviluppatore di specificare azioni personalizzate per singole voci di elenco. Ad esempio, è possibile implementare azioni di scorrimento rapido su iOS o con tocco lungo in Android.
  • La selezione consente allo sviluppatore di allegare funzionalità agli eventi di selezione e deselezionazione per gli elementi dell'elenco.

Lo screenshot seguente mostra un ListView oggetto con azioni di contesto:

Per altre informazioni sulle funzionalità di interattività di ListView, vedere Azioni e interattività con ListView.