TOC

This article is currently in the process of being translated into Italian (~98% done).

Il controllo ListView:

A simple ListView example

Il controllo ListView di WPF è minimale nella sua forma più semplice. In effetti, assomiglierà molto al ListBox di WPF, fino a quando non inizierai ad aggiungere visualizzazioni specializzate ad esso. Non è così strano, dal momento che un ListView eredita direttamente dal controllo ListBox. Quindi, un ListView predefinito è in realtà solo un ListBox, con una modalità di selezione diversa (ne parleremo più avanti).

Proviamo a creare un ListView nella sua forma più semplice:

<Window x:Class="WpfTutorialSamples.ListView_control.ListViewBasicSample"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="ListViewBasicSample" Height="200" Width="200">
    <Grid>
		<ListView Margin="10">
			<ListViewItem>A ListView</ListViewItem>
			<ListViewItem IsSelected="True">with several</ListViewItem>
			<ListViewItem>items</ListViewItem>
		</ListView>
	</Grid>
</Window>

Questo è molto semplice: si usa una ListViewItem specificando manualmente l'elenco; un'etichetta di testo rappresenta ogni elemento, un controllo ListView.

ListViewItem con un'immagine

A causa della natura immateriale di WPF, specificare un'immagine per un ListViewItem non significa assegnare un ID immagine o una chiave a una proprietà. Si deve invece specificare i controlli necessari per renderizzare sia l'immagine che il testo. Ecco un esempio:

<Window x:Class="WpfTutorialSamples.ListView_control.ListViewBasicSample"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="ListViewBasicSample" Height="200" Width="200">
    <Grid>
		<ListView Margin="10">
			<ListViewItem>
				<StackPanel Orientation="Horizontal">
					<Image Source="/WpfTutorialSamples;component/Images/bullet_green.png" Margin="0,0,5,0" />
					<TextBlock>Green</TextBlock>
				</StackPanel>
			</ListViewItem>
			<ListViewItem>
				<StackPanel Orientation="Horizontal">
					<Image Source="/WpfTutorialSamples;component/Images/bullet_blue.png" Margin="0,0,5,0" />
					<TextBlock>Blue</TextBlock>
				</StackPanel>
			</ListViewItem>
			<ListViewItem IsSelected="True">
				<StackPanel Orientation="Horizontal">
					<Image Source="/WpfTutorialSamples;component/Images/bullet_red.png" Margin="0,0,5,0" />
					<TextBlock>Red</TextBlock>
				</StackPanel>
			</ListViewItem>
		</ListView>
	</Grid>
</Window>

Quello che facciamo qui è molto semplice. Poiché ListViewItem deriva dalla classe ContentControl, possiamo specificare un controllo WPF come contenuto. In questo caso, utilizziamo StackPanel, che ha un'immagine e un TextBlock come controlli figlio.

Riassunto

Come puoi vedere, costruire un ListView manualmente in XAML è molto semplice, ma nella maggior parte dei casi, i tuoi dati ListView provengono da una origine dati, che deve essere renderizzata in ListView in fase di runtime. Esamineremo questo nel prossimo capitolo.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!