TOC

This article has been localized into Danish by the community.

Databinding:

Hej, bundne verden!

Ligesom vi begyndte dette selvstudie med den klassiske "Hej, Verden!", vil vi vise dig hvor let det er at benytte databinding i WPF med et "Hej, bundne verden"-eksemplet. Lad os springe lige ud i det og så vil jeg forklare det bagefter:

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

Dette enkle eksempel viser hvordan vi binde værdien af TextBlock der passer til Text-egenskaben i TextBox. Som du kan se af screenshottet vil TextBlock automatisk opdateres når du indsætter tekst i TextBox. I en ikke-forbundet verden, ville dette kræve at vi lytter til en begivenhed i TextBox og så opdaterer TextBlock'en hver gang teksten ændres, men ved databinding kan man etablere forbindelsen blot ved at benytte sig af markup.

Syntaxen i en Binding

Al magien sker mellem de krøllede parenteser, som i XAML indkapsler en Markup-udvidelse. Til databinding bruger vi Binding udvidelsen, som giver os mulighed for at beskrive bindingsforholdet for Text-egenskaben. I den mest simple form kan en binding se således ud:

{Binding}

Dette returnerer simpelthen den nuværende datakontekst (mere om det senere). Dette kan afgjort være nyttigt, men i de mest almindelige situationer ønsker du at binde en egenskab til en anden egenskab på datakonteksten. En sådan binding vil se således ud:

{Binding Path=NameOfProperty}

Path egenskaben fortæller den egenskab, du ønsker at binde til, men siden Path er standardegenskaben på en binding, kan den udlades, hvis du vil, som vist her:

{Binding NameOfProperty}

Du vil se mange forskellige eksempler - nogle med Path eksplicit angivet og nogle, hvor den er udeladt. Det er i sidste ende fuldstændig op til dig.

En binding har dog mange andre egenskaber, og en af dem er ElementName som vi benytter i vores eksempel. Dette tillader os at forbinde det direkte til et andet brugerinterfaceelement som kilde. Enhver egenskab som vi forbinder, adskilles med et komma:

{Binding Path=Text, ElementName=txtValue}

Resume

Dette var blot et kort blik på alle bindingsmuligheder i WPF. I de næste kapitler vil vi opdage flere af dem, for at vise dig hvor magtfuld databinding er.


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!