TOC

This article is currently in the process of being translated into Dutch (~98% done).

Data binding:

Data binding via Code-Behind

Zoals we gezien hebben in het vorige data binding voorbeeld is het definiëren van een binding met behulp van XAML zeer eenvoudig. Maar in bepaalde gevallen wil je het creëren van de binding misschien doen met behulp van Code-behind. Dit is eveneens zeer eenvoudig en biedt je exact dezelfde mogelijkheden aan ten opzichte van XAML. Laat ons het "Hallo, gebonden wereld" voorbeeld opnieuw maken, maar deze keer creëren we de vereiste binding via 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);
}
    }
}

Hoe werkt het mechanisme? Wel, door middel van het creëren van een Binding instance. We geven het path dat we willen - in dit geval "Text" - rechtstreeks mee in de aanroep naar de de constructor omdat we een binding willen maken met het Text property. Daarna specificeren we een Source die voor dit voorbeeld de TextBox controle moet zijn. Nu weet WPF dat het de TextBox moet gebruiken als de source controle en dat we meer specifiek op zoek zijn naar de waarde die bewaard wordt in de Text property.

In de laatste regel code gebruiken we de SetBinding methode om ons nieuw gecreëerd Binding object te connecteren met de bestemming. In dit geval is dit het attribuut lblValue van het element TextBlock. De SetBinding() methode vereist twee parameters. De eerste parameter bevat de methode die zegt naar welke dependency parameter we willen binden en de tweede parameter bevat het binding object dat we willen gebruiken.

Samenvatting

Zoals je kan zien, is het creëren van bindings in C# gemakkelijk. Vergeleken met de syntax die gebruikt wordt voor inline bindings in XAML is dit voor mensen die nieuw zijn voor dit mechanisme misschien een beetje gemakkelijker om te begrijpen. Welke methode je ook gebruikt, ze werken beiden perfect. Het is gewoon een kwestie van keuze voor het mechanisme jouw voorkeur geniet.


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!