This article has been localized into Czech by the community.
Ahoj, světe vazeb (data bindingu)!
Přesně jak jsme začali tento tutoriál s klasickým příkladem "Hello, world!" tak si ukážeme, jak je jednoduché použít "data binding" ve WPF v příkladu "Hello, bound world!". Pojďme do toho skočit rovnou a vysvětlení nechme na později.
<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ý příklad ukazuje, jak navážeme hodnotu z TextBlocku tak, aby byla navázána s vlastností TextBoxu. Jak můžete vidět na obrázku, TextBlock je aktualizován automaticky vždy, když zadáte text do TextBoxu. Ve světě bez vazeb bychom měli očekávat vytvoření událost z TextBoxu a potom aktualizovat TextBlock pokaždé, když je text změněn. Ale s data bindingem může být toto spojení provedeno s použitím označování.
Syntaxe vazby (bindingu)
Všechna kouzla se dějí mezi složenými závorkami, které v jazyce XAML zapouzdřují rozšíření značek. Pro vázání dat se používá rozšíření Binding, které nám umožňuje popsat vztah vazby pro vlastnost text. Ve své nejjednodušší formě může vazba vypadat takto:
{Binding}
Tím jednoduše získáme aktuální kontext dat (více o tom později). To může být užitečné, ale v nejběžnějších situacích bychom chtěli svázat vlastnost s jinou vlastností v datovém kontextu. Taková vazba by vypadala takto:
{Binding Path=NameOfProperty}
Path (Cesta) označuje vlastnost, kterou chcete svázat, ale protože Path je výchozí vlastností vazby, můžete ji, pokud chcete, ponechat například i v této podobě:
{Binding NameOfProperty}
Můžete vidět mnoho různých příkladů, z nichž některé jsou definovány explicitně a některé z nich Path vynechávají. V konečném důsledku je to na vaší volbě.
Binding má mnoho dalších vlastností, jedna z nich je ElementName, kterou v našem příkladu používáme. Ta nám umožňuje přímé připojení k jinému prvku uživatelského rozhraní jako zdroji. Každá vlastnost, kterou nastavíte ve vazbě, je oddělena čárkou:
{Binding Path=Text, ElementName=txtValue}
Shrnutí
Ukázali jsme jen záblesk všech Binding možností ve WPF. V dalších kapitolách jich objevíme víc, abychom vám ukázali, jak mocné jsou tyto datové vazby.