This article has been localized into Portuguese by the community.
Hello, bound world!
Exatamente como começamos este tutorial com o clássico exemplo "Hello, world!", vamos mostrar como é fácil de se usar o data binding em WPF com um exemplo "Hello, bound world!". Vamos começar já e a explicação vem depois:
<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>
Este simples exemplo mostra como ligamos o valor do TextBlock a propriedade Text do TextBox. Como você pode ver no print, o TextBlock é automaticamente atualizado quando você insere um texto dentro do TextBox. Em um mundo desvinculado, isso nos obrigaria ouvir um evento do TextBox e então atualizar o TextBlock a cada vez que o texto alterasse, mas com data binding, esta conexão pode ser estabelecida apenas usando tags.
A sintaxe de um Binding
Toda a mágica acontece entre as chaves, que no XAML encapsula Markup Extension (tag). Para data binding, nós usamos a extensão Binding, que nos permite descrever o vinculo de relacionamento para a propriedade Text. Nesta forma mais simples, um binding pode se parecer com isso:
{Binding}
Isto simplesmente retornará o data context atual (mais tarde veremos mais sobre isso). Isso definitivamente pode ser bastante útil, mas na maioria das situações comuns, você vai querer vincular uma propriedade à outra no data context. Um vinculo como este deverá ser parecido com isso:
{Binding Path=Nome da Propriedade}
O Path anota a propriedade que você quer vincular, porém, o Path é uma propriedade padrão do vínculo, você pode ocultá-lo se você quiser, assim:
{Binding Nome da Propriedade}
Você verá muitos exemplos diferentes, alguns deles onde o Path é explicitamente definido e outros onde ele é deixado de fora. No fim, você quem realmente decide.
Um vínculo tem muitas propriedades no entanto, uma delas sendo a ElementName que nós usamos em nosso exemplo. Isso nos permite conectar diretamente à outro elemento do UI como fonte. Cada propriedade que nós definimos no vínculo é separada por vírgula.
{Binding Path=Text, ElementName=txtValue}
Resumo
Este foi apenas um vislumbre de todas as possibilidade de binding do WPF. No próximo capítulo, descobriremos mais deles, para te mostrar quão poderoso o data binding é.