This article has been localized into Ukrainian by the community.
Прив'язка даних за допомогою 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. Який метод, ви оберете, залежить від вас - обидва вони працюють дуже добре.