Курс лекций для студентов специальности 1-40 01 03 Информатика и технологии программирования Минск 2013


Привязка данных 9.1. Базовые концепции привязки данных



страница12/22
Дата09.08.2018
Размер1.9 Mb.
#43657
ТипКурс лекций
1   ...   8   9   10   11   12   13   14   15   ...   22

9. Привязка данных

9.1. Базовые концепции привязки данных


Привязка данных (data binding) – это отношение, которое используется для извлечения информации из источника данных и установки свойства зависимостей в целевом объекте. Целевой объект обычно является элементом управления. Источником данных может быть произвольный объект .NET. Привязка способна (при определённых условиях) автоматически обновлять целевое свойство при изменении данных источника.

Очевидно, что при определении привязки нужно указать целевое свойство, источник данных и правило извлечения информации из источника. Кроме этого, можно выполнить настройку следующих параметров:



1. Направление привязки. Привязка может быть однонаправленной (целевое свойство меняется при изменении данных источника), двунаправленной (изменения в источнике и целевом объекте влияют друг на друга) и от цели к источнику (источник данных обновляется при изменении целевого свойства).

2. Условие обновления источника. Если привязка двунаправленная или от цели к источнику, можно настроить момент обновления источника данных.

3. Конвертеры значений. Привязка может выполнять автоматическое преобразование данных при их перемещении от источника к целевому объекту и наоборот.

4. Правила проверки данных. Привязка может включать правила проверки данных на корректность и поведение, выполняемое при нарушении этих правил.

Рис. 26. Концепция привязки данных.

В WPF привязка данных описывается либо декларативно, либо в коде. В любом случае используется объект класса System.Windows.Data.Binding (унаследованный от MarkupExtension). В табл. 5 приведено описание основных свойств этого класса.

Таблица 5

Свойства класса Binding


Имя свойства

Описание

Converter

Конвертер для преобразования данных при привязке

ConverterCulture

Культура, передаваемая в конвертер

ConverterParameter

Произвольный объект, передаваемый в конвертер

Delay

Время задержки (в миллисекундах) операции обновления источника при изменении целевого свойства

ElementName

Имя элемента в дереве объектов, который будет источником данных для привязки

FallbackValue

Значение для целевого свойства, которое будет использоваться, если операция привязки закончилась неудачей

IsAsync

При установке в true привязка выполняется асинхронно

Mode

Направление привязки (перечисление BindingMode):

OneWay – от источника к целевому свойству;

TwoWay – от источника к целевому свойству и наоборот;

OneTime – целевое свойство устанавливается на основе данных источника, затем изменения в источнике игнорируются;

OneWayToSource – источник обновляется при изменении целевого свойства;

Default – используется направление привязки, заданное в метаданных свойства зависимостей



NotifyOnSourceUpdated

При установке в true при передаче информации от источника к целевому объекту генерируется событие SourceUpdated

NotifyOnTargetUpdated

При установке в true при передаче информации от целевого объекта к источнику генерируется событие TargetUpdated

NotifyOnValidationError

Если равно true, при наличии ошибок проверки данных у целевого объекта генерируется присоединённое событие Error

Path

Путь к информации в источнике данных. Аргумент конструктора класса Binding

RelativeSource

Путь к источнику, задаваемый относительно целевого объекта

Source

Источник данных

StringFormat

Форматирование для извлекаемых данных строкового типа

TargetNullValue

Значение, которое будет использоваться для целевого свойства, если из источника извлекается null

ValidatesOnDataErrors

Булево значение: указывает на использование объектом-источником интерфейса IDataErrorInfo

ValidatesOnExceptions

Булево значение: указывает на необходимость рассматривать исключения как ошибки проверки данных

ValidatesOnNotify-

DataErrors



Булево значение: указывает на использование объектом-источником интерфейса INotifyDataErrorInfo

ValidationRules

Коллекция объектов, определяющих правила проверки данных

UpdateSourceException-

Filter


Метод обработки исключений, генерируемых при проверке данных

Окончание табл. 5

Имя свойства

Описание

UpdateSourceTrigger

Задаёт момент обновления источника при изменениях в целевом свойстве (перечисление UpdateSourceTrigger):

PropertyChanged – немедленно при изменении;

LostFocus – при потере целевым элементом фокуса ввода;

Explicit – при вызове метода UpdateSource();

Default – по значению, заданному в метаданных свойства зависимостей при помощи DefaultUpdateSourceTrigger


XPath

Выражение XPath. Может использоваться, если источник привязки возвращает XML

Класс Binding позволяет описывать привязку в XAML или в коде. В следующем фрагменте разметки XAML привязка соединяет два свойства разных элементов управления – при перемещении слайдера автоматически меняется размер шрифта текста:





FontSize="{Binding ElementName=slider, Path=Value}" />



StackPanel>

Рассмотрим этот же пример, реализованный при помощи кода:



// создаём и настраиваем объект Binding

var binding = new Binding();

binding.ElementName = "slider";

binding.Path = new PropertyPath("Value");



// устанавливаем привязку

text.SetBinding(TextBlock.FontSizeProperty, binding);

Класс System.Windows.Data.BindingOperations предоставляет набор статических методов для управления привязкой в коде. В частности, метод GetBinding() позволяет получить привязку для указанного целевого объекта и его свойства зависимостей, метод SetBinding() устанавливает привязку, а метод ClearBinding() удаляет привязку.

// удаляем установленную привязку для элемента text

BindingOperations.ClearBinding(text, TextBlock.FontSizeProperty);


Каталог: images
images -> В списке студентов (или магистрантов)
images -> Н. И. Сулейманов Комплект контрольно-оценочных средств для оценки результатов освоения профессионального модуля разработан на основе Федерального государственного образовательного стандарта среднего профессионального
images -> По направлению подготовки
images -> Добавить гаджеты. Добавление гаджетов
images -> Техническое задание № apnip/C. 2/CS/Ind/01 Международный консультант по улучшенной производительности орошаемого земледелия
images -> Комплект контрольно-оценочных средств по профессиональному модулю пм. 01 Техническое обслуживание и ремонт автотранспорта


Поделитесь с Вашими друзьями:
1   ...   8   9   10   11   12   13   14   15   ...   22




База данных защищена авторским правом ©vossta.ru 2022
обратиться к администрации

    Главная страница