вторник, 10 мая 2011 г.

Консольные приложения (4): Динамические поля

Вы заметили, что в примере, я использовал особый синтаксис для задания значений в атрибутах MessageBoxTitle (заголовок окна) и MessageBoxMessage (текст сообщения в окне) для действия MessageBoxAction.

<MessageBoxAction Label="GUID"
MessageBoxTitle="${C1:Data:Composite.Data.Types.IPage:Title}"
MessageBoxMessage="${C1:Data:Composite.Data.Types.IPage:Id}" />

Это так называемые динамические значения полей элементов определенного типа данных. В двух словах: выводится значение указанного поля для элемента указанного типа данных. Какой именно элемент - зависит от контекста вызова действия.

В данном примере контекстом является страница для которой мы вызываем действие MessageBoxAction. Мы можем обратиться к полям Id (идентификатор) и Title (название) элемента, представляющего эту страницу, и использовать их значения.

Общий синтаксис для использования динамического значения поля такой:

${C1:Data:[тип данных]:[имя поля]}

Название типа данных включает в себя пространство имен (Composite.Data.Types.IPage) и ставиться после C1:Data:, далее указывается имя поля (Id). В качестве разделителя используется двоеточие.

${C1:Data:Composite.Data.Types.IPage:Id}

В данном пример мы используем динамические поля передавая их в качестве параметров действия. Подобным образом такие поля можно передавать в другие действия, которые мы рассмотрим позже.

Также значения таких полей используются при выведении элементов типов данных, что не показано в данном примере. Об этом - в одном из следующих сообщений.

Это был простой пример, чтобы при минимуме информации объяснить, что такое консольные приложения, и как их можно создавать и использовать.

А теперь стоит рассмотреть пример посложнее, в котором строится древовидная структура данных и выполняются действия над ними.

(продолжение)

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

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