TOC

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

Data binding:

Data binding thông qua Code-behind

Như chúng ta đã thấy ở những ví dụ về data binding trước đây, việc định nghĩa 1 binding bằng cách sử dụng XAML là rất dễ dàng, nhưng trong những trường hợp nhất định, bạn có thể muốn làm việc này từ Code-behind thay vì trong XAML. Điều này cũng tương đối dễ và cung cấp khả năng tương tự như khi bạn sử dụng XAML. Hay thử ví dụ "Helo, bound world", nhưng lần này tạo binding từ 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);
}
    }
}

Nó hoạt động bằng cách tạo 1 Binding instance. Chúng ta chỉ định đường dẫn chúng ta muôn trực tiếp trong hàm khởi tạo, trong trường hợp này là "Text" bởi vì chúng ta muốn bind tới thuộc tính Text. Sau đó chúng ta chỉ định Source, trong ví dụ này là TextBoxt control. Bây giờ thì WPF hiểu là nó sẽ sử dụng TextBox như là source control, và rằng chúng ta thấy rõ giá trị của nó chứa trong thuộc tính Text.

Trong dòng cuối, chúng ta sử dụng phương thức SetBinding để kết hợp đối tượng Binding mới được tạo với control nguồn/đích, trong trường hợp này là TextBlock (lblValue). Phương thức SetBinding() nhận 2 tham số, một chỉ định thuộc tính dependency rằng chúng ta muốn bind tới nó, và một giữ đối tượng binding mà chúng ta muốn sử dụng.

Tóm tắt

Như bạn thấy, tạo binding trong C# thì dễ dàng, và có lễ 1 chút dễ dàng hơn để nắm bắt đối với những người mới tìm hiểu data binding khi so sánh với cú pháp đã nội tuyến đã được sử dụng trong XAML. Sử dụng phương thức nào là tùy bạn nghĩ - chúng đều hoạt động tốt trong cả hai trường hợp.

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!