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


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

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

Новая парадигма команд

Фреймворк Ribbon — это набор API Microsoft Win32, поддерживающих множество новых возможностей пользовательского интерфейса для разработчиков Windows.

Эта многофункциональная, современная платформа команд пользовательского интерфейса предлагает следующие возможности:

  • Простое внедрение для совершенно новых приложений на платформе Ribbon и лёгкая миграция существующих приложений Win32.
  • Согласованный внешний вид и поведение во всех приложениях с интерфейсом Ribbon.
  • Соблюдение рекомендаций по пользовательскому интерфейсу Windows для обеспечения высококлассного опыта использования Windows благодаря стандартам доступности, поддержке визуального стиля (тем), автоматическим настройкам для высокой контрастности и осведомлённости о высоком разрешении (dpi).

Фреймворк Ribbon состоит из двух основных компонентов пользовательского интерфейса.

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

Сочетание декларативных XML и нативных COM-интерфейсов используется для разделения представления и функциональности этих компонентов.

Представления

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

Вид ленты

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

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

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

снимок экрана, показывающий внедрение ленты в графическом редакторе Paint для Windows 7.

Вид КонтекстПопап

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

Архитектура ленты

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

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

Платформа ленты предоставляет такую гибкость, разделяя функциональность и представление с помощью двух различных структур разработки: язык разметки, основанный на XAML, для объявления элементов управления и визуальной структуры реализации ленты, а также интерфейсы на основе COM C++ для инициализации платформы и обработки событий в процессе выполнения. Это различие позволяет разработчикам и конструкторам пользовательского интерфейса отвечать исключительно за внешний вид приложения ленты, а основные функциональные возможности остаются доменом инженеров программного обеспечения.

Дополнительные сведения см. в разделе Основные сведения о командах и элементах управления.

API ленты

API интерфейса ленты предоставляют необходимые подключения между представлением и хост-приложением интерфейса ленты. Эти API состоят из следующих интерфейсов и ключей свойств:

  • Набор COM-интерфейсов, реализованных фреймворком Ribbon для предоставления услуг пользовательского интерфейса.

    Интерфейс Описание
    IUIContextualUI Определяет методы для основной функциональности представления ContextPopup.
    IUIFramework Определяет методы, поддерживающие основные функции ленты и ContextPopup Views.
    IUIRibbon Определяет методы указания параметров и свойств для представления ленты .
    IUISimplePropertySet Определяет метод получения значения, определяемого ключом свойства. Этот интерфейс реализуется платформой Ribbon и хост-приложением для каждого элемента в объекте галереи элементов IUICollection.
    При реализации хост-приложением метод, заданный этим интерфейсом, используется для получения значения ключа свойства для выбранного элемента в IUICollection.
    IUICollection Определяет методы динамического управления элементами управления на основе коллекций, такими как QAT ленты и галереи , во время выполнения.
    IUIImage Определяет метод получения изображения для отображения в пользовательском интерфейсе ленты UI.
    IUIImageFromBitmap Определяет метод фабрики для создания объекта IUIImage.
  • Набор COM-интерфейсов, реализованных приложением-хостом ленты, которые вызывает платформа в ответ на изменения в пользовательском интерфейсе.

    Интерфейс Описание
    IUIApplication Определяет методы точки входа для обратных вызовов приложений в интерфейсе ленты.
    IUICommandHandler Определяет методы сбора сведений о командах и обработки командных событий из рамочной структуры ленты.
    IUICollectionChangedEvent Определяет метод, необходимый для обработки изменений коллекции во время выполнения.
  • Набор ключей свойств, определяющих свойства пользовательского интерфейса, над которым приложение имеет программный контроль.

    Тип ключа свойства Описание
    коллекция Определяет свойства элементов управления на основе коллекции ленты.
    средство выбора цвета Определяет свойства элементов управления выбора цветов ленты.
    шрифта Определяет свойства для элемента управления шрифтом на ленте.
    глобальные Определяет глобальные свойства интерфейса Ribbon.
    ресурс Определяет свойства ресурса ленты.
    лента Определяет свойства представления ленты.
    состояние Определяет свойства для состояния элемента управления ленты или контекста.

Безопасность и конфиденциальность

Библиотека DLL платформы интерфейса (uiribbon.dll) выполняется в процессе и имеет те же привилегии, что и основное приложение. Лента принимает только то, что ведущее приложение предоставляет в качестве входных или пользовательских данных из строго ограниченных элементов управления, таких как спиннер и редактируемое поле со списком.

Кроме того, платформа не будет постоянно хранить какие-либо сведения, кроме того, что предоставляет хост-приложение или собирает (авторизовано конечным пользователем) через программу взаимодействия с клиентами Windows.

Доступность и локализация

Чтобы обеспечить высоко доступный пользовательский интерфейс, платформа Ribbon использует Microsoft Active Accessibility. Автоматически заполняя соответствующие свойства Microsoft Active Accessibility допустимыми и полезными сведениями, платформа значительно снижает нагрузку на разработчиков и тем самым обеспечивает инклюзивный опыт для всех пользователей.

Дополнительные сведения о специальных возможностях во фреймворке ленты см. в работе с Active Accessibility в пользовательском интерфейсе Office Fluent 2007.

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

Заключение

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

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

объявление команд и элементов управления с помощью ленточной разметки

Руководство по пользовательскому опыту в интерфейсе Ribbon

процесса разработки ленты