Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

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

Иерархия классов | Встроенные контейнеры компоновки | Конвертеры значений | Проверка данных | Трансформации | Стили и триггеры | Шаблоны элементов управления | Шаблоны данных |


Читайте также:
  1. BITMAPFILEHEADER – эта структура содержит информацию о типе, размере и представлении данных в файле. Размер 14 байт.
  2. C 4 redo группами по 2 файла, 2 control-файлами, табличным пространством system, имеющим 2 файла данных по 50 мб
  3. Cтуденческий банк данных
  4. II. Сбор и обработка персональных данных субъектов персональных данных
  5. III. Хранение и защита персональных данных субъектов персональных данных
  6. IV. Передача персональных данных субъектов ПД
  7. Present Simple используется, когда речь идет о проверенных фактах и научных данных, либо о том, что говорящий таковыми считает.

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

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

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

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

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

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

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

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

Таблица 5

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

Имя свойства Описание
Converter Конвертер для преобразования данных при привязке
ConverterCulture Культура, передаваемая в конвертер
ConverterParameter Произвольный объект, передаваемый в конвертер
ElementName Имя элемента в дереве объектов, который будет источником данных для привязки
FallbackValue Значение для целевого свойства, которое будет использоваться, если операция привязки закончилась неудачей
Mode Направление привязки (перечисление BindingMode): OneWay – от источника к целевому свойству; TwoWay – от источника к целевому свойству и наоборот; OneTime – целевое свойство устанавливается на основе данных источника, затем изменения в источнике игнорируются; OneWayToSource – источник обновляется при изменении целевого свойства; Default – используется направление привязки, заданное в метаданных свойства зависимостей
IsAsync При установке в true привязка выполняется асинхронно
NotifyOnSourceUpdated При установке в true при передаче информации от источника к целевому объекту генерируется событие SourceUpdated
NotifyOnTargetUpdated При установке в true при передаче информации от целевого объекта к источнику генерируется событие TargetUpdated
NotifyOnValidationError При установке в true и наличии ошибок проверки данных у целевого объекта генерируется присоединённое событие Error
Path Путь к информации в источнике данных. Аргумент конструктора класса Binding
RelativeSource Путь к источнику, задаваемый относительно целевого объекта
Source Источник данных
StringFormat Форматирование для извлекаемых данных строкового типа
TargetNullValue Значение, которое будет использоваться для целевого свойства, если из источника извлекается null
ValidatesOnDataErrors Булево значение: указывает на использование объектом-источником интерфейса IDataErrorInfo
ValidatesOnExceptions Булево значение: указывает на необходимость рассматривать исключения как ошибки проверки данных
ValidationRules Коллекция объектов, определяющих правила проверки данных
UpdateSource- ExceptionFilter Метод обработки исключений, генерируемых при проверке данных
UpdateSourceTrigger Задаёт момент обновления источника при изменениях в целевом свойстве (перечисление UpdateSourceTrigger): PropertyChanged – немедленно при изменении; LostFocus – при потере целевым элементом фокуса ввода; Explicit – при вызове метода UpdateSource(); Default – по значению, заданному в метаданных свойства зависимостей при помощи DefaultUpdateSourceTrigger
XPath Выражение XPath. Может использоваться, если источник привязки возвращает XML

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

<StackPanel>

<Slider x:Name="slider" Minimum="1" Maximum="40" />

<TextBlock x:Name="text" Text="Sample Text"

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


Дата добавления: 2015-11-14; просмотров: 115 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Прочие элементы управления| Источники и поставщики данных

mybiblioteka.su - 2015-2024 год. (0.007 сек.)