Элемент управления Ribbon

Содержание

Слайд 2

Добавление элемента управления Ribbon

Добавление элемента управления Ribbon

Слайд 5

Элемент управления Ribbon состоит из трех фрагментов:
панели для быстрого запуска (размещенной

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

Слайд 6

Стилизация элемента управления Ribbon

Стилизация элемента управления Ribbon

Слайд 7

Готовые коллекции стилей, которые хранятся в сборке RibbonControlsLibrary.dll в виде словаря ресурсов

Готовые коллекции стилей, которые хранятся в сборке RibbonControlsLibrary.dll в виде словаря ресурсов
и предоставляются через класс PopularApplicationSkins. Называются они Office2007Blue, Office2007Black и Office2007Silver.

Слайд 8

Команды

В отличие от стандартных меню и панелей инструментов в WPF, в Ribbon

Команды В отличие от стандартных меню и панелей инструментов в WPF, в
перехватывать события Click, поступающие от входящих в его состав элементов управления, не разрешено. Преимущество такого проектного решения в том, что он позволяет поставлять в элементе управления Ribbon более развитую модель команд. (Как рассказывалось в главе 9, базовая модель команд в WPF является довольно скромной.) Недостаток решения в том, что оно не позволяет использовать специальные классы, унаследованные от RoutedCommand.

Слайд 9

Меню приложения

Меню приложения

Слайд 11

Объект RibbonApplicationMenu наивысшего уровня тоже нуждается в объекте RibbonCommand, хотя и не

Объект RibbonApplicationMenu наивысшего уровня тоже нуждается в объекте RibbonCommand, хотя и не
используется для запуска команды! Причиной являются несколько других свойств, таких как свойства, связанные с подсказкой, и свойства изображения (которые устанавливают изображение, появляющееся внутри кнопки меню приложения). В случае применения используемого по умолчанию стиля Windows 7 потребуется установить свойство Small Image, а для стилей Office 2007, которые предусматривают отображение большой кнопки приложения — свойство LargelmageSource.

Слайд 12

Также важно отметить, что любой RibbonApplicationMenuItem может хранить больше объектов RibbonApplicationMenuItem для

Также важно отметить, что любой RibbonApplicationMenuItem может хранить больше объектов RibbonApplicationMenuItem для
создания подменю, которое отображается во втором столбце меню, как показано на рис. 25.10.

Слайд 13

Вкладки, группы и иконки

Вкладки, группы и иконки

Слайд 14

Потребуется присоединить объект RibbonCommand к каждой группе. Этот объект имеет несколько специальных

Потребуется присоединить объект RibbonCommand к каждой группе. Этот объект имеет несколько специальных
предназначений.
Во-первых, свойство RibbonCommand.LabelTitle позволяет указать заголовок группы, который должен отображаться прямо под разделом соответствующей группы в элементе управления Ribbon.
Во-вторых, с помощью свойства RibbonCommand.SmalllmageSource задается изображение, которое должно использоваться в случае нехватки пространства и сворачивания группы в одну кнопку.
И, в-третьих, событие RibbonCommand.Executed позволяет создать модуль запуска диалогового окна. (Под модулем запуска диалогового окна подразумевается небольшой значок, который появляется в правом нижнем углу некоторых групп и который при выполнении на нем щелчка приводит к отображению диалогового окна с дополнительными опциями.)

Слайд 15

Изменение размеров элемента управления Ribbon

Изменение размеров элемента управления Ribbon

Слайд 16

С помощью свойства RibbonTab.GroupSizeReductionOrder можно указать, какие группы должны сокращаться первыми, используя

С помощью свойства RibbonTab.GroupSizeReductionOrder можно указать, какие группы должны сокращаться первыми, используя
для обозначения каждой группы значение ее свойства LabelTitle. Например:

Слайд 17

Более мощный подход предусматривает создание коллекции объектов RibbonGroupSizeDefinition, которая диктует, каким именно

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

Чтобы обрести контроль над процессом изменения размеров групп, необходимо определить множество таких объектов RibbonGroupSizeDefinition и упорядочить их в коллекции RibbonGroupSizeDef initionCollection от наибольшего к наименьшему.
Саму коллекцию RibbonGroupSizeDefinitionCollection обычно лучше размещать в разделе Ribbon.Resources.

Слайд 18

Панель быстрого запуска

Панель быстрого запуска представляет объект QuickAccessToolBar, который может содержать в

Панель быстрого запуска Панель быстрого запуска представляет объект QuickAccessToolBar, который может содержать
себе набор объектов RibbonButton. При определении RibbonCommand для этих объектов должен быть предоставлен только текст подсказки и небольшое изображение, потому что текстовые метки (TextLabel) и крупные изображения в них никогда не отображаются.

Слайд 19

Единственной новой деталью в панели быстрого запуска является меню настройки, которое появляется

Единственной новой деталью в панели быстрого запуска является меню настройки, которое появляется
в результате щелчка на стрелке раскрывающегося списка в крайней справа ее части. Это меню можно использовать для настройки пользователями команд, появляющихся в панели быстрого запуска. Его можно вообще отключить, установив свойство QuickAccessToolBar.CanUserCustomize в false.

Слайд 20

Пользовательская настройка работает через присоединенное свойство RibbonQuickAccessToolBar.Placement. Здесь доступны три варианта:
Указывайте значение

Пользовательская настройка работает через присоединенное свойство RibbonQuickAccessToolBar.Placement. Здесь доступны три варианта: Указывайте
InToolBar, если необходимо, чтобы команда появлялась только в панели быстрого запуска (но не в меню настройки), так что она всегда остается видимой.
Используйте значение InCustomizeMenuAndToolBar, когда нужно, чтобы команда появлялась и в панели быстрого запуска, и в меню, настройки, тогда у пользователя будет возможность снимать с нее отметку и скрывать ее.
Применяйте значение InCustomizeMenu, если требуется, чтобы команда появлялась в неотмеченном виде в меню настройки, но не в самом элементе управления Ribbon, тогда пользователь может ее при необходимости отобразить.