TOC

This article has been localized into Ukrainian by the community.

Прив'язка даних:

Привіт, зв'язаний світ!

Так само як ми розпочали цей посібник з класичного прикладу "Hello, world!", ми покажемо вам як легко використовувати прив'язку даних у WPF на прикладі, який ми назвали "Hello, bound world!". Давайте одразу з нього і розпочнемо, а потім я поясню його:

<Window x:Class="WpfTutorialSamples.DataBinding.HelloBoundWorldSample"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="HelloBoundWorldSample" Height="110" Width="280">
    <StackPanel Margin="10">
		<TextBox Name="txtValue" />
		<WrapPanel Margin="0,10">
			<TextBlock Text="Value: " FontWeight="Bold" />
			<TextBlock Text="{Binding Path=Text, ElementName=txtValue}" />
		</WrapPanel>
	</StackPanel>
</Window>

Цей простий приклад показує як поєднати значення параметру Text елемента TextBlock із значенням параметра Text іншого елемента TextBox. Як ви помітили з екранного знімку, значення параметру у TextBlock автоматично змінюється разом із введенням тексту в елементі TextBox. За відсутності прив'язки даних нам знадобилося б реалізувати ручне оновлення значення параметру у TextBlock та розмістити його в обробнику події елемента TextBox, що викликається при кожній зміні значення його параметра. Натомість з появою прив'язки даних все це можна зробити без залучення програмування подій елемента, а просто під час розмітки інтерфейсу користувача.

Синтаксис прив'язки даних

Вся магія відбувається між фігурними дужками "{" та "}" які містять у собі додаткові можливості розмітки XAML. В цьому випадку використовується додаткова можливість для прив'язки даних, яка дозволяє нам встановлювати зв'язок між параметрами Text двох окремих елементів інтерфейсу користувача. У найбільш простому варіанті опис такого зв'язку виглядає таким чином:

{Binding}

Цей варіант просто надає поточний контекст даних (англ: data context). Що таке цей самий контекст даних буде пояснено трохи згодом. Цей варіант теж може знайти застосування, проте у більшості випадків вам знадобиться поєднувати між собою різні параметри контексту даних. В такому випадку це потрібно оформлювати наступним чином:

{Binding Path=NameOfProperty}

Path - призначений для посилання на відповідний параметр контексту даних для прив'язки, але зважаючи на те, що він є параметром додаткових можливостей XAML, що використовується за замовчуванням, то його можна і не згадувати, скоротивши цей запис наступним чином:

{Binding NameOfProperty}

Ви побачите згодом багато прикладів де Path буде використаний як явно так і скрито. Яким саме чином ви особисто будете застосовувати Path для своїх застосунків - вирішувати лише вам.

Хоча прив'язка даних має ще багато параметрів, але у нашому прикладі ми використали крім Path лише один з них - ElementName. Він дозволяє використовувати у якості контексту даних інший елемент інтерфейсу користувача. Кожен параметр на кшталт Path або ElementName відокремлюється від іншого за допомогою ком.

{Binding Path=Text, ElementName=txtValue}

Підсумок

Це був лише найпростіший приклад прив'язки даних до елементів інтерфейсу користувача у WPF, що надає уявлення про можливості цієї технології. В наступних розділах ми розглянемо інші можливості для того, щоб довести на скільки потужним є цей підхід.

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!