Знакомство с Платформой ленты Windows

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Снимок экрана: реализация ленты в paint для Windows 7.

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

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

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

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

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

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

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

API ленты

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

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

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

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

    Тип ключа свойства Описание
    Коллекция Определяет свойства элементов управления на основе коллекции ленты.
    Палитра Определяет свойства элементов управления "Выбор цвета ленты".
    Шрифт Определяет свойства элемента Управления FontControl ленты.
    Глобальный Определяет глобальные свойства для платформы ленты.
    Ресурс Определяет свойства ресурса ленты.
    Ленты Определяет свойства представления ленты.
    Состояние Определяет свойства для состояния или контекста элемента управления ленты.

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

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

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

Специальные возможности и локализация

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

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

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

Заключение

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

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

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

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

Процесс проектирования ленты