четверг, 23 декабря 2021 г.

XAML Связывание данных в WPF из кода C#

 

В некоторых случаях вы можете захотеть сделать это из застраничного кода (код программной части). Это также очень легко и будет иметь те же возможности, что дает связывание через XAML. Давайте повторим пример «Здравствуй, связанный мир», в этот раз создаваемую нужную связь из застраничного кода.

<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 () принимает два параметра, один указывает какое свойство зависимости (свойство зависимости) мы хотим связать, второй - объект, который мы хотим использовать.

Комментариев нет:

Отправить комментарий

Паттерн 'Репозиторий' в ASP.NET

  Последнее обновление: 1.11.2015         Одним из наиболее часто используемых паттернов при работе с данными является паттерн 'Репозито...