TOC

This article has been localized into Danish by the community.

Databinding:

Databinding via Code-behind

Som vi så i de tidligere databindings eksempler, så er en binding ved brug af XAML meget nemt, men i visse filfælde er det mere ønskværdigt af gøre det i Code-behind i stedet. Dette er også meget nemt, og giver de nøjagtigt samme muligheder som når du benytter XAML. Lad os prøve med "Hello, bound world" eksemplet, men denne gang opretter vi den nødvendige databinding i Code-behind:

<Window x:Class="WpfTutorialSamples.DataBinding.CodeBehindBindingsSample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="CodeBehindBindingsSample" Height="110" Width="280">
    <StackPanel Margin="10">
<TextBox Name="txtValue" />
<WrapPanel Margin="0,10">
    <TextBlock Text="Value: " FontWeight="Bold" />
    <TextBlock Name="lblValue" />
</WrapPanel>
    </StackPanel>
</Window>
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;

namespace WpfTutorialSamples.DataBinding
{
    public partial class CodeBehindBindingsSample : Window
    {
public CodeBehindBindingsSample()
{
    InitializeComponent();

    Binding binding = new Binding("Text");
    binding.Source = txtValue;
    lblValue.SetBinding(TextBlock.TextProperty, binding);
}
    }
}

Det fungere ved at vi opretter en databindings instans. Vi specificerer den sti vi ønsker direkte i konstruktøren, i dette tilfælde benyttes "Text", eftersom vi ønsker at binde til Tekst-egenskaben. Vi specificere herefter en Kilde, hvilket i dette eksempel vil være tekstboks kontrollen. Nu ved WPF at den skal bruge tekstboksen som kildekontrol, og at vi specifikt leder efter den værdi som opbevares i Tekst-egenskaben.

I den sidste linje af koden bruger vi SetBinding metoden til at forene vores nye oprettede databindings objekt med destinations/mål kontrollen, som i dette tilfælde er TekstBlock'en (lblValue). SetBinding() metoden tager to parametre, et der fortæller hvilken egenskab vi er afhængige af og som vi ønsker at databinde til, og et som indeholder det databindings objekt som vi ønsker at bruge.

Resume

Som du kan se er det at oprette databindinger i C# kode nemt, og måske tilmed en smule nemmere at forstå for folk som er helt nye når det kommer til at oprette databindinger, sammenlignet med at gøre det via syntaksen der bruges i XAML. Hvilken metode du benytter er helt op til dig, de fungere begge fint.


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!