TOC

This article has been localized into Polish by the community.

Powiązanie danych:

Wiązanie danych za pomocą kodu w C#

Jak widzieliśmy w poprzednich przykładach wiązania danych, definiowanie wiązań za pomocą XAML jest bardzo proste. W niektórych przypadkach możesz jednak potrzebować lub chcieć utworzyć takie wiązanie za pomocą kodu C#. Jest to bardzo proste i oferuje takie same możliwości jak z poziomu XAML. Wróćmy jeszcze raz do przykładu "Hello, bound world", ale tym razem utwórzmy potrzebne wiązania za pomocą C#.

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

Zrobimy to tworząc instancję klasy Binding. Ścieżkę wiązania określamy w jej konstruktorze. W tym przypadku jest to "Text", ponieważ wiązaniem chcemy objąć właśnie wartość tekstową. Następnie określamy źródło wiązania Source, które w tym przykładzie ustawione jest na kontrolkę TextBox. Teraz WPF wie, że powinien użyć kontrolki TextBox jako źródła danych i że źródłem ważnym dla nas jest wartość znajdująca się we właściwości Text.

W ostatniej linii kodu używamy metody SetBinding() do połączenia naszego nowo utworzonego obiektu klasy Binding z kontrolką docelową, w tym przypadku kontrolką TextBlock (lblValue). Metoda SetBinding() pobiera dwa parametry. Pierwszy z nich wskazuje właściwość kontrolki, do której chcemy utworzyć wiązanie, natomiast drugi przechowuje obiekt, z którego pobrane zostaną dane.

Podsumowanie

Jak widzisz, tworzenie wiązań za pomocą kodu C# jest bardzo proste. Dla osób które dopiero zaczynają swoją przygodę z wiązaniami danych to rozwiązanie może być łatwiejsze do przyswojenia niż analogiczne, utworzone w języku XAML. Której metody użyjesz, zależy tylko od Ciebie. Obie działają równie dobrze.


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!