Поделиться через


Общие сведения о командах и элементах управления

Разделение логики от презентации — это философия проектирования, которая вдохновляет систему презентации команд платформы ленты Windows — систему, основанную на шаблоне проектирования, где функциональные возможности и поведение реализуются независимо от элементов управления, которые предоставляют эту функциональность.

Знакомство

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

Система команд ленты Windows

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

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

Рычаги управления

Элементы управления — это объекты пользовательского интерфейса, необходимые для представления команды. Они отрисовываются и управляются в процессе выполнения фреймворком на основе взаимодействия с пользователем и набора свойств и поведения, присущих системе.

Известный как адаптивный макет, гибкость пользовательского интерфейса, управляемая фреймворком, является одной из самых сильных сторон ленты. Элементы управления лентами могут автоматически перенастроить себя с помощью шаблонов макетов, зависящих от платформы или разработчиков, которые могут реагировать на различные требования времени выполнения, все без написания одной строки кода презентации. Дополнительные сведения см. в Настройка ленты с помощью определений размера и политик масштабирования.

Помимо преимуществ адаптивного макета, ряд сложных элементов управления лентами предоставляют автономные решения для определенных пространств проблем пользовательского интерфейса. Предлагая сложную модель взаимодействия, элементы управления лентами, такие как FontControl или ColorPicker, предоставляют возможность управлять данными более абстрактными терминами с помощью пакетов свойств фактических атрибутов шрифта или цвета, а не с помощью различных вложенных элементов управления, перечислений и индексов стандартных элементов управления Windows.

Команды

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

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

Заметка

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

 

Каждая команда имеет основной тип, указанный в перечислении UI_COMMANDTYPE.

Опыт командования в действии

Возможности этой модели команд демонстрируются панелью быстрого доступа на ленте (Ribbon Quick Access Toolbar, QAT). QAT предоставляет пользователям возможность определить собственные сочетания клавиш для почти любого элемента управления в интерфейсе ленты. Ярлык добавляется динамически в QAT во время выполнения, когда пользователь щелкает элемент управления лентой правой кнопкой мыши и выбирает Добавить на панель быстрого доступа в контекстном меню.

На следующем рисунке показаны команды вставить и вставить из, представленные элементом управления SplitButton, в ленте Paint для Windows 7.

изображение кнопки

На следующем рисунке показана та же вставка и вставка из команд, которые по-прежнему представлены элементом управления SplitButton на ленте QAT Windows 7 Paint.

изображение кнопки вставки SplitButton в Microsoft Paint QAT.

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

Заметка

Те же преимущества реализуются при включении команд в ContextPopup во время разработки. В этом случае обработчики команд вставки можно использовать, отображается ли элемент управления SplitButton в ленте, QAT или ContextPopup.

 

Знакомство с Windows Ribbon Framework

Создание приложения с ленточным интерфейсом

Объявление Команд и Элементов управления с помощью разметки Ribbon