TOC

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

The ListView control:

A simple ListView example

WPF ViewList kontrola je vrlo malo zahtevna u svojoj najjednostavnijoj formi. Ustvari, ona liči u celini kao WPF ListBox kotrola, sve dok ne počnete da dodajete specijalizovane dodatke na nju. To i nije tako čudno, posto ListView kontrola nasleđuje direktno iz ListBox kotrole. Tako, osnovna ListView je ustvari samo ListBox, sa različitim izborom modova (više o tome u nastavku).

Hajde da napravimo ListView u njenoj naj prostijoj formi:

<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>

Ovo je prilično jednostavno što dobijamo, koristeći ručno definisanu ListViewItem kontrolu da popuni listu samo tekst labelama koje predstavljaju čanove - naj jednostavnije WPF ListView kontrole.

ListViewItem with an image

Zbog toga što WPF izgleda manje prirodno, definisanje slike za ListVeiwItem kontrolu nije samo dodeljivanje ID-ja slike ili ključa osobine. Umesto toga, vi preuzimate punu kontrolu i određujete da je potrebno da kontrola obradi i sliku i tekst u ListViewItem kontroli. Evo primera:

<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>

Ono što mi radimo ovde je vrlo jednostavno. Pošto je ListViewItem izvedena iz ContentControl klase, mi možemo da specificiramo WPF kontrolu kao njen sadržaj. U ovom slučaju, mi koristimo StackPanel, koji ima Image i TextBlock kao svoje naslednike (potomke) kontrole.

Summary

Kao što možete da vidite, pravljenje ListView kontrole ručno u XAML-u je vrlo jednostavno, ali u većini slučajeva, podaci za vašu ListView kontrolu dolaze iz nekog izvora podataka, koji bi trebalo da se prikazuje u ListView kontroli u toku izvršavanja programa. Pogledajmo šta se dešava za taj slučaj u sledećem poglavlju.


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!