TOC

This article has been localized into Portuguese by the community.

Data binding:

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


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!