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


Группа меню

Группа меню упорядочивает связанные команды и элементы управления в меню или на панели инструментов.

Введение

Элемент управления "Группа меню", предоставляемый с помощью элемента разметки MenuGroup , является логическим контейнером для групп элементов или команд в элементах управления на основе меню, включая контекстную мини-панель инструментов.

Метку можно указать для группы меню с помощью атрибута LabelTitle или свойства Command.LabelTitle связанного объявления Command. Значение, присвоенное LabelTitle , отображается в виде заголовка категории.

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

<!-- SplitButton -->
<Command Name="cmdSplitButtonGroup"
         Symbol="cmdSplitButtonGroup"
         Comment="SplitButton Group"
         LabelTitle="SplitButton"/>
<Command Name="cmdSplitButton"
         Symbol="cmdSplitButton"
         Comment="SplitButton"
         LabelTitle="SplitButton"/>
<Command Name="cmdSBButtonItem"
         Symbol="cmdSBButtonItem"
         Comment="SBButtonItem"
         LabelTitle="SB ButtonItem"/>
<Command Name="cmdSBButton1"
         Symbol="cmdSBButton1"
         Comment="SBButton1"
         LabelTitle="SB Button">
  <Command.LargeImages>
    <Image Source="res/copyL_32.bmp"/>
  </Command.LargeImages>
  <Command.SmallImages>
    <Image Source="res/copyS_16.bmp"/>
  </Command.SmallImages>
  <Command.LargeHighContrastImages>
    <Image Source="res/copyLHC_32.bmp"/>
  </Command.LargeHighContrastImages>
  <Command.SmallHighContrastImages>
    <Image Source="res/copySHC_16.bmp"/>
  </Command.SmallHighContrastImages>
</Command>
<Command Name="cmdSBMajorItems"
         Comment="Major Items Category"
         LabelTitle="Major Items"/>
<Command Name="cmdSBStandardItems"
         Comment="Standard Items Category"
         LabelTitle="Standard Items"/>

В следующем примере показана разметка, необходимая для элемента SplitButton с тремя объявлениями элементов MenuGroup , два из которых связаны с командами группы меню из предыдущего примера. Атрибут Class элемента MenuGroup используется для указания размера элементов меню.

<Group CommandName="cmdSplitButtonGroup">
  <SplitButton CommandName="cmdSplitButton">
    <SplitButton.ButtonItem>
      <Button CommandName="cmdSBButtonItem"/>
    </SplitButton.ButtonItem>
    <SplitButton.MenuGroups>
      <MenuGroup CommandName="cmdSBMajorItems" 
                 Class="MajorItems">
        <Button CommandName="cmdSBButton1"/>
        <Button CommandName="cmdSBButton1"/>
      </MenuGroup>
      <MenuGroup CommandName="cmdSBStandardItems"
                 Class="StandardItems">
        <Button CommandName="cmdSBButton1"/>
        <Button CommandName="cmdSBButton1"/>
      </MenuGroup>
      <MenuGroup Class="StandardItems">
        <Button CommandName="cmdSBButton1"/>
        <Button CommandName="cmdSBButton1"/>
      </MenuGroup>
    </SplitButton.MenuGroups>
  </SplitButton>
</Group>

На следующем снимке экрана показано меню (с тремя элементами управления "Группа меню"), созданное на основе разметки в предыдущих примерах.

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

Платформа ленты определяет коллекцию ключей свойств для элемента управления "Группа меню".

Как правило, свойство Группы меню обновляется в пользовательском интерфейсе ленты путем отмены команды, связанной с элементом управления, путем вызова метода IUIFramework::InvalidateUICommand . Событие недействительности обрабатывается и свойство обновляется с помощью метода обратного вызова IUICommandHandler::UpdateProperty .

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

Примечание

В некоторых случаях свойство можно получить с помощью метода IUIFramework::GetUICommandProperty и задать с помощью метода IUIFramework::SetUICommandProperty .

 

В следующей таблице перечислены ключи свойств, связанные с элементом управления "Группа меню".

Ключ свойства Примечания
UI_PKEY_Enabled Поддерживает IUIFramework::GetUICommandProperty и IUIFramework::SetUICommandProperty.
UI_PKEY_Keytip Может быть обновлено только через недействительность.
UI_PKEY_Label Может быть обновлено только через недействительность.
UI_PKEY_TooltipDescription Может быть обновлено только через недействительность.
UI_PKEY_TooltipTitle Может быть обновлено только через недействительность.

 

Библиотека элементов управления Windows Ribbon Framework

Элемент разметки MenuGroup