TOC

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

Data binding:

Data binding via Code-behind

Як ми бачили в попередніх прикладах, визначення прив'язки за допомогою XAML є дуже простим, але для деяких випадків,, вам може знадобитися зробити поза Code-behind. Це теж є просто і пропонує ті самі можливості, що і XAML. Давайте спробуємо написати приклад "Hello, bound world", але цього разу створимо необхідну прив'язку без 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);
}
    }
}

Це працює шляхом створення екземпляра Binding. Ми вказуємо шлях безпосередньо в конструкторі (в даному випадку "Text", оскільки ми хочемо прив'язатись до властивості Text). Потім ми вказуємо Source, яке в цьому прикладі має бути контролером поля тексту (тобто TextBox). Тепер WPF знає, що він повинен використовувати TextBox як джерело управління, і що ми спеціально шукаємо значення,яке міститься в його властивості Text.

У останньому рядку використовується метод SetBinding для об'єднання нашого новоствореного об'єкту Binding з елементом призначення / керування, який в даному випадку є TextBlock (lblValue). Метод SetBinding () приймає два параметри: один визначає властивість залежності, до якої ми хочемо приєднатися, а інший містить об'єкт прив'язки, яку ми хочемо використовувати.

Підсумки

Як ви бачите, створення прив'язок в коді C # є легким, і, можливо, навіть трохи простішим для новачків, які працюють з прив'язкою даних. Особливо це можна бачити у порівнянні з синтаксисом, який використовується для створення вбудованих в XAML. Який метод, ви оберете, залежить від вас - обидва вони працюють дуже добре.

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!