TOC

This article has been localized into Slovak by the community.

Väzba dát (binding):

Hello, bound world!

Rovnako ako sme začali tento tutoriál s klasickým príkladom "Ahoj, svet!" vám ukážeme, aké ľahké je použiť data binding vo WPF príkladom "Ahoj, viazaný svet!". Poďme priamo nato a potom to vysvetlím:

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

Tento jednoduchý príklad ukazuje, ako viažeme hodnotu v prvku TextBlock tak, aby zodpovedala vlastnosti Text v TextBoxe. Ako môžete vidieť na snímke obrazovky, TextBlock sa automaticky aktualizuje pri zadávaní textu do TextBoxu. V neviazanom svete by to vyžadovalo vytvoriť udalosť na TextBox a potom aktualizovali TextBlock pri každej zmene textu, ale s data bindingom toto spojenie možno vytvoriť jednoducho pomocou značiek.

Syntax väzby Binding

Všetka mágia prebieha medzi zloženými zátvorkami, ktoré v XAML zapuzdrujú Markup Extension. Pri data bindingu používame rozšírenie väzby Binding, ktoré nám umožňuje popísať záväzný vzťah pre vlastnosť Text. Vo svojej najjednoduchšej forme môže binding vyzerať asi takto:

{Binding}

Toto jednoducho vráti aktuálny data context (viac o tom neskôr). To môže byť určite užitočné, ale v najbežnejších situáciách by ste chceli viazať vlastnosť na iný objekt v dátovom kontexte. Takáto väzba by vyzerala takto:

{Binding Path=NameOfProperty}

Path zaznamenáva vlastnosť, ktorú chcete viazať, pretože Path je predvolená vlastnosť bindingu, môžete ju vynechať, ak chcete, napríklad:

{Binding NameOfProperty}

Uvidíte veľa rôznych príkladov, niektoré z nich, kde Path je explicitne definovaná a niektoré, kde je vynechaná. Nakoniec to naozaj závisí od vás.

Binding má mnoho ďalších vlastností, pričom jednou z nich je prvok ElementName, ktorý používame v našom príklade. To nám umožňuje pripojiť sa priamo k inému prvku používateľského rozhrania ako k zdroju. Každá vlastnosť, ktorú sme nastavili v bindingu, je oddelená čiarkou:

{Binding Path=Text, ElementName=txtValue}

Zhrnutie

Toto bolo len letmý pohľad na možnosti bindingu vo WPF. V ďalších kapitolách objavíme viac z nich, aby sme vám ukázali, aký silný je data binding.


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!