Обзор ленты¶
Используйте RibbonControl для создания ленточного меню, подобного тому, которое можно найти в приложениях Microsoft Office. RibbonControl - это панель инструментов, которая организует команды и другие элементы в ряд страниц (вкладок). Страницы состоят из групп, которые, в свою очередь, отображают элементы ленты (команды, встроенные редакторы, метки, галереи и так далее).

Визуальные элементы ленты¶
RibbonControl включает в себя следующие элементы:
- 
Страницы — Страницы ленты позволяют создавать вкладки. Вы можете добавить столько страниц, сколько вам нужно. Должна быть создана, по крайней мере, одна страница. На каждой странице отображается одна или несколько групп элементов. 
- 
Группы страниц — Группы ленты предоставляют логичный способ объединения наборов элементов внутри страниц. Группы разделены вертикальными линиями. 
- 
Кнопка приложения — Эта кнопка вызывает всплывающее окно меню приложения, которое обычно содержит команды, используемые для работы с файлами. 

Кнопка приложения, если она включена, отображается перед заголовками страниц.
- Панель быстрого доступа — Эта панель инструментов обеспечивает доступ к часто используемым командам. Пользователи могут добавить команду на эту панель инструментов с помощью контекстного меню.

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

Команда Classic "Размещение" размещает элементы ленты в три ряда:

В размещении Simplified используется один ряд элементов:

Обратитесь к разделу Размещение команд на ленте для получения дополнительной информации.
Демо¶
Смотрите демонстрационное приложение Eremex для контролов для примеров, демонстрирующих функции RibbonControl в действии.
Создание пользовательского интерфейса на ленте¶
Вкратце, создание ленточного пользовательского интерфейса состоит из следующих этапов:
- Создайте файл RibbonControl.
- Добавьте страницы ленты (вкладки) на ленту.
- Добавьте к страницам группы страниц на ленте.
- Добавьте элементы ленты (команды, галереи и т.д.) в группы страниц.
Вы также можете добавить элементы ленты в Область заголовка страницы , Панель быстрого доступа , всплывающие меню и подменю.
Определите RibbonControl¶
RibbonControl - это многофункциональная панель инструментов. Как традиционные панели инструментов, RibbonControl управляется компонентом ToolbarManager. 
Совет
The ToolbarManager component can manage not only RibbonControl. You can use this component to create traditional toolbars  (for instance, a status bar) and context menus for controls.
Чтобы создать RibbonControl, определите его внутри компонента ToolbarManager.
<mxb:ToolbarManager IsWindowManager="True">
    <mxr:RibbonControl Name="ribbon1">
      <!-- ... -->
    </mxr:RibbonControl>
</mxb:ToolbarManager>
Определение страниц ленты и доступ к ним¶
"Страницы" ленты  (вкладки) инкапсулированы классом RibbonPage.
Чтобы добавить страницы ленты в XAML, определите объекты <RibbonPage> в качестве содержимого тега <RibbonControl>. Чтобы добавлять страницы ленты в коде и получать к ним доступ, используйте коллекцию RibbonControl.Pages. 
<mxb:ToolbarManager IsWindowManager="True">
    <mxr:RibbonControl>
      <mxr:RibbonPage Header="Home" KeyTip="H"> 
        <!-- ... -->
      </mxr:RibbonPage>
      <mxr:RibbonPage Header="View" KeyTip="V">
        <!-- ... -->
      </mxr:RibbonPage>
      <mxr:RibbonPage Header="Design" KeyTip="S">
        <!-- ... -->
      </mxr:RibbonPage>
    </mxr:RibbonControl>
</mxb:ToolbarManager>
Определение групп страниц ленты и доступ к ним¶
"Группы страниц" ленты  инкапсулируются классом RibbonPageGroup. Они являются дочерними элементами страниц ленты. 
Чтобы создать группы страниц в XAML, определите объекты <RibbonPageGroup> как содержимое элементов <RibbonPage>. Чтобы добавлять группы страниц в коде и получать к ним доступ, используйте коллекцию RibbonPage.Groups. 
<mxr:RibbonPage Header="Home" KeyTip="H" Name="pageHome">
  <mxr:RibbonPageGroup Header="File" IsHeaderButtonVisible="True">
    <!-- ... -->
  </mxr:RibbonPageGroup>
  <mxr:RibbonPageGroup Header="Clipboard" IsHeaderButtonVisible="True">
    <!-- ... -->
  </mxr:RibbonPageGroup>
  <mxr:RibbonPageGroup Header="Font" IsHeaderButtonVisible="True">
    <!-- ... -->
  </mxr:RibbonPageGroup>
</mxr:RibbonPage>
Определите элементы ленты (команды, подменю, галереи и так далее).¶
Элементы ленты - это базовые элементы, которые вы можете добавить в пользовательский интерфейс ленты (группы страниц ленты, панель быстрого доступа и коллекция элементов заголовка страницы). Они включают в себя:
- Кнопки (ToolbarButtonItem) — кнопка обычного или всплывающего окна.
Обычная кнопка выполняет команду (ToolbarButtonItem.Command) и события (Click и Press) при нажатии. 

Вы также можете привязать к кнопке контрол всплывающего окна. Этот контрол будет отображаться, когда пользователь нажимает кнопку или встроенную стрелку вниз.

Контрол ленты позволяет вам указать размер отображения для кнопок. Вы можете использовать attached-свойство RibbonControl.DisplayMode, чтобы выбрать между большим размером, маленьким размером с текстом и маленьким размером без текста.
 
  
 
- "Кнопки—переключатели" (ToolbarCheckItem) - кнопка, поддерживающая два состояния - нормальное и нажатое. Состояние кнопки определяется свойствомToolbarCheckItem.IsChecked. СобытиеToolbarCheckItem.CheckedChangedсрабатывает, когда изменяется состояние нажатия кнопки "Проверить".

- Подменю (ToolbarMenuItem) — Отображает подменю по щелчку мыши.

- Встроенный редактор (ToolbarEditorItem) — Отображает встроенный редактор, указанный свойствомToolbarEditorItem.EditorProperties. Например, вы можете встроить SpinEditor или TextEditor в пользовательский интерфейс ленты.

- Текстовая метка (ToolbarTextItem) — Отображает статический текст, указанный свойствомToolbarTextItem.Header.

- Группа элементов (ToolbarItemGroup) — неразрывная группа элементов.

Функция адаптивного размещения на ленте автоматически сворачивает и восстанавливает элементы при изменении размера контрола. Группы функционируют как единое целое. При изменении размера ленты можно свернуть только всю группу, а не отдельные ее элементы.
- Группа переключающих кнопок (ToolbarCheckItemGroup) — Неразрывная группа переключающих кнопок (объектыToolbarCheckItem). КлассToolbarCheckItemGroupпозволяет создавать группу взаимоисключающих элементов (radio group) и группу, которая позволяет нажимать на несколько элементов одновременно.

- Разделитель (ToolbarSeparatorItem) — Отображает разделитель между элементами ленты.

- Галерея (RibbonGalleryItem) — Галерея элементов. Используйте свойствоRibbonGalleryItem.ItemsSource, чтобы указать список объектов, которые будут отображаться как элементы галереи.

В галерее на ленте есть кнопка "всплывающее окно", которая активирует просмотр галереи в всплывающем окне. Галерея всплывающего окна может отображать дополнительные команды внизу, указанные свойством RibbonGalleryItem.DropDownItems.

Все элементы ленты, перечисленные выше, являются потомками класса ToolbarItem. 
Они также могут быть добавлены к традиционным панелям инструментов и контекстным меню. 
Чтобы добавить элементы в группы страниц ленты, определите соответствующие элементы ленты между начальным и конечным тегами <RibbonPageGroup>. Чтобы добавлять элементы ленты в коде и получать к ним доступ, используйте коллекцию RibbonPageGroup.Items. 
Следующий фрагмент кода добавляет четыре обычные кнопки (объекты ToolbarButtonItem) в группу Clipboard. Вы можете найти полный код в демо-версии WordPad Example.

<mxr:RibbonPageGroup Header="Clipboard" IsHeaderButtonVisible="True">
    <mxb:ToolbarButtonItem Header="Paste" KeyTip="PA" Glyph="{x:Static icons:Basic.Paste}"
                           mxr:RibbonControl.DisplayMode="Large"
                           DropDownArrowVisibility="ShowSplitArrow">
        <mxb:ToolbarButtonItem.DropDownControl>
            <mxb:PopupMenu>
                <mxb:ToolbarButtonItem Header="Paste Special" KeyTip="PS" 
                  Glyph="{x:Static icons:Basic.Paste}" 
                  Command="{Binding PasteSpecialCommand}"/>
                <mxb:ToolbarButtonItem Header="Set Default Paste..." KeyTip="SP" 
                  Command="{Binding SetDefaultPasteCommand}"
                />
            </mxb:PopupMenu>
        </mxb:ToolbarButtonItem.DropDownControl>
    </mxb:ToolbarButtonItem>
    <mxb:ToolbarButtonItem Header="Cut" KeyTip="CT"
                           Glyph="{x:Static icons:Basic.Cut}" Command="{Binding CutCommand}"/>
    <mxb:ToolbarButtonItem Header="Copy" KeyTip="CP"
                           Glyph="{x:Static icons:Basic.Copy}" Command="{Binding CopyCommand}"/>
    <mxb:ToolbarButtonItem Header="Paste" KeyTip="P"
                           Glyph="{x:Static icons:Basic.Paste}" Command="{Binding PasteCommand}"/>
</mxr:RibbonPageGroup>
Дополнительные сведения см. в следующих разделах:
Поддержка шаблонов проектирования MVVM¶
Ленточный контрол поддерживает шаблон проектирования MVVM, позволяющий создавать страницы, группы страниц и элементы (в группах страниц, панели быстрого доступа и области заголовка страницы) из коллекций бизнес-объектов, определенных в модели представления. Следующие свойства поддерживают шаблон проектирования MVVM:
- RibbonControl.PagesSource— Коллекция бизнес-объектов, используемых для заполнения страниц ленточного контрола. Соответствующие шаблоны данных должны определять объекты- RibbonPage.
- RibbonPage.GroupsSource— Коллекция бизнес-объектов, используемых для заполнения групп на страницах ленты. Соответствующие шаблоны данных должны определять объекты- RibbonPageGroup.
- RibbonPageGroup.ItemsSource— Коллекция бизнес-объектов, используемых для создания элементов ленты в группах страниц. Соответствующие шаблоны данных должны определять элементы ленты .
- RibbonControl.QuickAccessToolbarItemsSource— Коллекция бизнес-объектов, используемых для создания элементов ленты на Панели быстрого доступа . Соответствующие шаблоны данных должны определять элементы ленты .
- RibbonControl.PageHeaderItemsSource— Коллекция бизнес-объектов, используемых для создания Элементов заголовка страницы . Соответствующие шаблоны данных должны определять элементы ленты .
- ToolbarMenuItem.ItemsSource— Коллекция бизнес-объектов, используемых для заполнения подменю элементами. Соответствующие шаблоны данных должны определять элементы ленты.
* Эта страница была создана автоматически с помощью сервиса машинного перевода Яндекс Переводчик.