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


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

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

Примечание.

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

Элемент управления меню определяет:

  • Элемент управления меню корневого уровня.
  • Список элементов меню.

При использовании с точкой расширения PrimaryCommandSurface корневой пункт меню отображается в виде кнопки на ленте. При нажатии кнопки меню отображается в виде раскрывающегося списка. Подменю не поддерживаются.

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

Дочерние элементы

Элемент Обязательный Описание
Label Да Текст меню.
Supertip Да Суперподвиг для этого меню.

Важно! Подсказки поддерживаются только в классических клиентах Office.
Icon Да Изображение для меню.
<Элементы> Да Коллекция элементов, отображаемых в меню. Содержит <элемент Item> для каждого элемента.
OverriddenByRibbonApi Нет Указывает, должно ли меню отображаться в сочетаниях приложений и платформ, поддерживающих настраиваемые контекстные вкладки. При использовании он должен быть первым дочерним элементом.

Label

Задает текст для имени меню с помощью его единственного атрибута resid, который может содержать не более 32 символов и должен иметь значение атрибута<id элемента String> в <дочернем элементе ShortStrings> элемента Resources .

Тип надстройки: Область задач, почта

Допустимо только в следующих схемах VersionOverrides:

  • Область задач 1.0
  • Почта 1.0
  • Почта 1.1

Дополнительные сведения см. в разделе Переопределения версий в манифесте только надстройки.

Связаны с этими наборами требований:

Примеры

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

<Control xsi:type="Menu" id="Contoso.TestMenu2">
  <OverriddenByRibbonApi>true</OverriddenByRibbonApi>
  <Label resid="residLabel3" />
  <Supertip>
    <Title resid="residLabel" />
    <Description resid="residToolTip" />
  </Supertip>
  <Icon>
    <bt:Image size="16" resid="icon1_32x32" />
    <bt:Image size="32" resid="icon1_32x32" />
    <bt:Image size="80" resid="icon1_32x32" />
  </Icon>
  <Items>
    <Item id="ShowMainTaskPane">
      <Label resid="residLabel3"/>
      <Supertip>
        <Title resid="residLabel" />
        <Description resid="residToolTip" />
      </Supertip>
      <Icon>
        <bt:Image size="16" resid="icon1_32x32" />
        <bt:Image size="32" resid="icon1_32x32" />
        <bt:Image size="80" resid="icon1_32x32" />
      </Icon>
      <Action xsi:type="ShowTaskpane">
        <TaskpaneId>MyTaskPaneID1</TaskpaneId>
        <SourceLocation resid="residUnitConverterUrl" />
      </Action>
    </Item>
    <Item id="GetData">
      <Label resid="residLabel5"/>
      <Supertip>
        <Title resid="residLabel" />
        <Description resid="residToolTip" />
      </Supertip>
      <Icon>
        <bt:Image size="16" resid="icon4_32x32" />
        <bt:Image size="32" resid="icon4_32x32" />
        <bt:Image size="80" resid="icon4_32x32" />
      </Icon>
      <Action xsi:type="ExecuteFunction">
        <FunctionName>getData</FunctionName>
      </Action>
    </Item>
  </Items>
</Control>

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

<Control xsi:type="Menu" id="Contoso.msgReadMenuButton">
  <Label resid="menuReadButtonLabel" />
  <Supertip>
    <Title resid="menuReadSuperTipTitle" />
    <Description resid="menuReadSuperTipDescription" />
  </Supertip>
  <Icon>
    <bt:Image size="16" resid="red-icon-16" />
    <bt:Image size="32" resid="red-icon-32" />
    <bt:Image size="80" resid="red-icon-80" />
  </Icon>
  <Items>
    <Item id="ShowMainTaskPane">
      <Label resid="residLabel3"/>
      <Supertip>
        <Title resid="residLabel" />
        <Description resid="residToolTip" />
      </Supertip>
      <Icon>
        <bt:Image size="16" resid="icon1_32x32" />
        <bt:Image size="32" resid="icon1_32x32" />
        <bt:Image size="80" resid="icon1_32x32" />
      </Icon>
      <Action xsi:type="ShowTaskpane">
        <TaskpaneId>MyTaskPaneID1</TaskpaneId>
        <SourceLocation resid="residUnitConverterUrl" />
      </Action>
    </Item>
    <Item id="msgReadMenuItem1">
      <OverriddenByRibbonApi>true</OverriddenByRibbonApi>
      <Label resid="menuItem1ReadLabel" />
      <Supertip>
        <Title resid="menuItem1ReadLabel" />
        <Description resid="menuItem1ReadTip" />
      </Supertip>
      <Icon>
        <bt:Image size="16" resid="red-icon-16" />
        <bt:Image size="32" resid="red-icon-32" />
        <bt:Image size="80" resid="red-icon-80" />
      </Icon>
      <Action xsi:type="ExecuteFunction">
        <FunctionName>getItemClass</FunctionName>
      </Action>
    </Item>
  </Items>
</Control>