Menügruppe

Die Menügruppe organisiert verwandte Befehle und Steuerelemente innerhalb eines Menüs oder einer Symbolleiste.

Einführung

Das Menügruppensteuerelement, das über das MenuGroup-Markupelement verfügbar gemacht wird, ist ein logischer Container für Gruppen von Elementen oder Befehle in menübasierten Steuerelementen, einschließlich der Minisymbolleiste "Kontext-Popup" .

Eine Bezeichnung kann für eine Menügruppe über das LabelTitle-Attribut oder die Command.LabelTitle-Eigenschaft einer zugeordneten Command-Deklaration angegeben werden. Der LabelTitle zugewiesene Wert wird als Kategorieheader gerendert.

Im folgenden Beispiel wird das Befehlsmarkup für ein Split Button-Steuerelement veranschaulicht, das zwei Menügruppenbefehlsdeklarationen enthält.

<!-- 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"/>

Das folgende Beispiel veranschaulicht das erforderliche Markup für ein SplitButton-Element mit drei MenuGroup-Elementdeklarationen , von denen zwei den Menügruppenbefehlen aus dem vorherigen Beispiel zugeordnet sind. Das Class-Attribut des MenuGroup-Elements wird verwendet, um die Größe der Menüelemente anzugeben.

<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>

Der folgende Screenshot veranschaulicht das Menü (mit drei Menügruppensteuerelementen), das aus dem Markup in den vorherigen Beispielen generiert wird.

Screenshot eines Menüs mit drei Menügruppensteuerelementen.

Das Menübandframework definiert eine Auflistung von Eigenschaftenschlüsseln für das Menügruppensteuerelement.

In der Regel wird eine Menu Group-Eigenschaft auf der Menübandbenutzeroberfläche aktualisiert, indem der dem Steuerelement zugeordnete Befehl durch einen Aufruf der IUIFramework::InvalidateUICommand-Methode ungültig wird. Das Invaliditätsereignis wird von der IUICommandHandler::UpdateProperty-Rückrufmethode behandelt und die Eigenschaft aktualisiert.

Die IUICommandHandler::UpdateProperty-Rückrufmethode wird nicht ausgeführt, und die Anwendung wird nach einem aktualisierten Eigenschaftswert abgefragt, bis die Eigenschaft vom Framework erforderlich ist. Beispielsweise, wenn eine Registerkarte aktiviert ist und ein Steuerelement auf der Menüband-Benutzeroberfläche angezeigt wird, oder wenn eine QuickInfo angezeigt wird.

Hinweis

In einigen Fällen kann eine Eigenschaft über die IUIFramework::GetUICommandProperty-Methode abgerufen und mit der IUIFramework::SetUICommandProperty-Methode festgelegt werden.

 

In der folgenden Tabelle sind die Eigenschaftenschlüssel aufgeführt, die dem Menügruppensteuerelement zugeordnet sind.

Eigenschaftenschlüssel Hinweise
UI_PKEY_Enabled Unterstützt IUIFramework::GetUICommandProperty und IUIFramework::SetUICommandProperty.
UI_PKEY_Keytip Kann nur durch ungültige Aktualisierung aktualisiert werden.
UI_PKEY_Label Kann nur durch ungültige Aktualisierung aktualisiert werden.
UI_PKEY_TooltipDescription Kann nur durch ungültige Aktualisierung aktualisiert werden.
UI_PKEY_TooltipTitle Kann nur durch ungültige Aktualisierung aktualisiert werden.

 

Windows Ribbon Framework-Steuerelementbibliothek

MenuGroup-Markupelement