This article is currently in the process of being translated into Croatian (~98% done).
Data binding via Code-behind
Kao što smo vidjeli u prethodnim primjerima povezivanja podataka, definiranje veze korištenjem XAML-a je jako jednostavno, ali u nekim slučajevima možda želite povezati podatke kroz pozadinski kod. To je također poprilično jednostavno i pruža iste mogućnosti kao kada koristite XAML. Pokušajmo s "Hello, bound world" primjerom, ali ovog puta povežimo podatke koristeći pozadinski kod:
<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);
}
}
}
Povezivanje radi na način da se kreira Binding instanca. Definiramo putanju koju želimo izravno u konstruktoru, u ovom slučaju "Text" jer se želimo povezati s Text svojstvom. Nakon toga definiramo Source što bi u ovom primjeru trebala biti TextBox kontrola. Sada WPF zna da mora koristiti TextBox kao izvor i da treba dohvatiti vrijednost koja je sadržana u Text svojstvu.
U zadnjoj liniji koristimo SetBinding metodu kako bi spojili naš novokreirani Binding objekt s odredišnom/ciljanom kontrolom, u ovom slučaju s TextBlockom (lblValue). SetBinding() metoda prima dva parametra, jedan govori s kojom svojstvom se želimo povezati, a drugi sadrži Binding objekt kojeg želimo koristiti.
Sažetak
Kao što možete vidjeti, kreiranje poveznica u C# kodu je jednostavno i vjerojatno nešto jednostavnije za svladati za ljude kojima je povezivanje podataka novost, u odnosu na sintaksu koja se koristi kada se kreiraju u XAML-u. Koji ćete pristup odabrati je na vama - oba funkcioniraju jednako dobro.