TOC

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

Data binding:

Hello, bound world!

Kao što smo ovaj vodič započeli s klasičnim "Hello, world!" primjerom, tako ćemo vam pokazati kako je jednostavno koristiti povezivanje podataka u WPF-u s "Hello, bound world!" primjerom. Pređimo odmah na stvar, a onda ću poslije sve objasniti:

<Window x:Class="WpfTutorialSamples.DataBinding.HelloBoundWorldSample"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="HelloBoundWorldSample" Height="110" Width="280">
    <StackPanel Margin="10">
		<TextBox Name="txtValue" />
		<WrapPanel Margin="0,10">
			<TextBlock Text="Value: " FontWeight="Bold" />
			<TextBlock Text="{Binding Path=Text, ElementName=txtValue}" />
		</WrapPanel>
	</StackPanel>
</Window>

Ovaj jednostavni primjer pokazuje kako povezujemo vrijednost TextBlock kontrole s Text svojstvom TextBox kontrole. Kao što možete vidjeti na snimci zaslona, TextBlock kontrola se automatski ažurira kada unesete neki tekst u TextBox kontrolu. U nepovezanom svijetu, ovo bi zahtijevalo slušanje događaja na TextBox kontroli i onda bismo ažurirali TextBlock kontrolu svaki puta kada se tekst promijeni, ali s povezivanjem podataka ova se veza može ostvariti kroz markup.

Sintaksa povezivanja podataka

Sva čarolija se odvija unutar vitičastih zagrada, koje u XAML-u enkapsuliraju Markup Extension. Za povezivanje podataka koristimo Binding ekstenziju koja nam omogućava da opišemo odnos veze za Text svojstvo. U svom najjednostavnijem obliku, veza može izgledati ovako:

{Binding}

Ovo jednostavno vraća trenutni kontekst podataka (više o tome kasnije). Ovo definitivno može biti korisno, ali u najvećem broju slučajeva želite povezati svojstvo s drugim svojstvom u kontekstu podataka. Takva veza bi izgledala ovako:

{Binding Path=ImeSvojstva}

Path označava svojstvo kojeg želite povezati, međutim, s obzirom da je Path podrazumijevano svojstvo veze, možete ga izostaviti na ovaj način:

{Binding ImeSvojstva}

Vidjet ćete mnoge različite primjere, u nekima od njih će Path biti eksplicitno definiran, a u nekima će biti izostavljen. U konačnici je na vama koji ćete pristup koristiti.

Veza ima mnoga druga svojstva, jedno od njih je ElementName kojeg koristimo u našem primjeru. Ovo nam omogućava da se izravno povežemo s drugim elementom grafičkog sučelja kao izvorom. Svako svojstvo kojeg postavljamo u vezi odvojeno je zarezom:

{Binding Path=Text, ElementName=txtVrijednost}

Summary

Ovo je bio samo kratki uvid u sve mogućnosti povezivanja podataka u WPF-u. U idućim poglavljima otkrit ćemo više toga kako bi vam pokazali koliko je povezivanje podataka moćno.


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!