TOC

This article has been localized into Swedish by the community.

Databindning:

Exempel: "Hello, bound world!"

Precis som när vi började denna tutorial med det klassiska exemplet "Hello world!" , skall vi nu demonstrera hur enkelt det är att använda databindning i WPF med exemplet "Hello, bound world!". Vi startar direkt och förklarar innebörden efteråt:

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

Detta enkla exempel demonstreras hur vi binder "value" i vårt TextBlock med Text-innehållet i vår TextBox. Om du exekverar programmet kan du se att vårt TextBlock uppdateras automatiskt när du skriver in text i vår TextBox. Om vi inte haft databindningen hade vi varit tvugna att lita till event från vår TextBox och uppdatera vårt TextBlock varje gång som textinnehållet ändras. Med databindning kan denna dataförbindelse enkelt etableras i XAML-koden.

Bindningssyntax

Det magiska sker inom klammerparentesen som i XAML kapslar in en "Markup Extension". Vid databindning använder vi "Binding extension" som gör det möjligt att beskriva bindningsrelationen för egenskapen "Text". I sin enklaste form kan en bindning se ut så här:

{Binding}

Denna bindning returnerar helt enkelt den aktuella datakontexten (mer om denna senare). Denna kan förstås vara användbar, men i de flesta fall vill vi binda en egenskap till en annan egenskap hos datakontextet. En sådan bindning kan se ut så här:

{Binding Path=NameOfProperty}

"Path" noterar den egenskap som du vill binda, men eftersom "Path" är standardbindningen kan du utelämna detta kodord om du vill, så att bindningen får utseendet:

{Binding NameOfProperty}

Du kommer att träffa på många olika exempel, i några är "Path" explicit definierad, i andra utnyttjas att "Path" är underförstått. När allt kommer omkring är det helt upp till vad du själv föredrar.

En bindning kan ha många andra egenskaper också. En kan vara egenskapen "ElementName" som vi använde i exemplet ovan. Denna låter oss att upprätta en förbindelse direkt till ett annat UI-element. Varje egenskap vi binder i klammerparentesen skall separeras med ett kommatecken.

{Binding Path=Text, ElementName=txtValue}

Sammanfattning

Detta var bara några axplock från alla möjliga bindningar i WPF. I de följande kapitlen kommer vi i kontakt med flera som visar det kraftfulla med databindning.


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!