This article has been localized into Slovak by the community.
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.