TOC

This article has been localized into Turkish by the community.

Veri bağlama (data binding):

Arkaplan Kodunda Veri Bağlama

Önceki veri bağlama örneklerinde gördüğümüz kadarıyla XAML kullanarak veri bağlama yapmak çok kolay, fakat bir çok durumda da arkaplan kodunda bunu programsal yapmak gerekebilir. Bu oldukça kolay ve XAML kullanmakla aynı kabiliyetler de mümkün. Hadi "Merhaba Veri Bağlama Dünyası!" uygulamamızı arkaplan kodu ile yaparak bunu görelim :

<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);
}
    }
}

Bir Binding nesnesi üreterek çalışıyor. Nesneyi üretirken Path değerini "Text" olarak giriyoruz çünkü Text özelliğine veri bağlaması yapmak istiyoruz. Daha sonra bu örnekte değeri TextBox kontrolü olan Source değerini belirliyoruz. Şimid WPF TextBox'ın kaynak olacağı ve Text özelliğine bağlanılacağını biliyor.

Son satırda SetBinding() metodunu kullanarak yeni ürettiğimiz Binding nesnesini hedef kontrolümüz olan TextBlock (lblValue) ile bir araya getiriyoruz. SetBinding() metodu iki parametre alır, ilki hangi bağımlılık özelliğine veri bağlayacağımız ve diğeri de kullanacağımız binding nesnesi.

Sonuç

Gördüğünüz gibi C# kodunda veri bağlama yapmak kolay, belki veri bağlama işinde yeni olanlar için XAML'de kullanılan yapıya göre biraz zor gelebilir. Hangi metodu kullanacağınız size kalmış - her ikisi de sağlıklı çalışır.


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!