Freigeben über


Ribbon XML

Mit dem Menübandelement (XML) können Sie ein Menüband mithilfe von XML anpassen. Verwenden Sie das Menübandelement (XML), wenn Sie das Menüband auf eine Weise anpassen möchten, die vom Menübandelement (Visual Designer) nicht unterstützt wird. Einen Vergleich der Möglichkeiten für die einzelnen Elemente finden Sie in der Übersicht über das Menüband.

Gilt für: Die Informationen in diesem Thema gelten für Dokumentprojekte und VSTO-Add-In-Projekte für die folgenden Anwendungen: Excel; InfoPath 2013 und InfoPath 2010; Outlook; PowerPoint; Project; Visio; Word. Weitere Informationen finden Sie unter Funktionen verfügbar nach Office-Anwendung und Projekttyp.

Hinzufügen eines Menübandelements (XML) zu einem Projekt

Sie können ein Ribbon (XML)-Element zu einem beliebigen Office-Projekt aus dem Dialogfeld "Neues Element hinzufügen" hinzufügen. Visual Studio fügt Ihrem Projekt automatisch die folgenden Dateien hinzu:

  • Eine XML-Datei des Menübands. Diese Datei definiert die Menüband-Benutzeroberfläche (UI). Verwenden Sie diese Datei, um UI-Elemente wie Registerkarten, Gruppen und Steuerelemente hinzuzufügen. Ausführliche Informationen finden Sie in der XML-Datei-Referenz für Ribbon später in diesem Thema.

  • Eine Ribbon-Codedatei. Diese Datei enthält die Menübandklasse. Diese Klasse hat den Namen, den Sie für das Menübandelement (XML) im Dialogfeld " Neues Element hinzufügen " angegeben haben. Microsoft Office-Anwendungen verwenden eine Instanz dieser Klasse, um das benutzerdefinierte Menüband zu laden. Ausführliche Informationen finden Sie weiter unten in diesem Thema unter der Referenz zur Ribbon-Klasse.

    Standardmäßig fügen diese Dateien der Registerkarte "Add-Ins " im Menüband eine benutzerdefinierte Gruppe hinzu.

Anzeigen des benutzerdefinierten Menübands in einer Microsoft Office-Anwendung

Nachdem Sie Ihrem Projekt ein Menübandelement (XML) hinzugefügt haben, müssen Sie der Klasse ThisAddin, ThisWorkbook oder ThisDocument Code hinzufügen, die die CreateRibbonExtensibilityObject Methode außer Kraft setzt und die XML-Klasse des Menübands an die Office-Anwendung zurückgibt.

Im folgenden Codebeispiel wird die CreateRibbonExtensibilityObject Methode außer Kraft gesetzt und eine XML-Klasse des Menübands mit dem Namen MyRibbon zurückgegeben.

protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
{
    return new MyRibbon();
}

Definieren Sie das Verhalten des benutzerdefinierten Menübands

Sie können auf Benutzeraktionen reagieren, z. B. durch Klicken auf eine Schaltfläche im Menüband, indem Sie Rückrufmethoden erstellen. Rückrufmethoden ähneln Ereignissen in Windows Forms-Steuerelementen, werden jedoch durch ein Attribut im XML-Code des UI-Elements identifiziert. Sie schreiben Methoden in der Ribbon-Klasse, und ein Steuerelement ruft die Methode auf, die denselben Namen wie der Attributwert hat. Sie können beispielsweise eine Rückrufmethode erstellen, die aufgerufen wird, wenn ein Benutzer auf eine Schaltfläche im Menüband klickt. Zum Erstellen einer Rückrufmethode sind zwei Schritte erforderlich:

  • Weisen Sie einem Steuerelement in der XML-Datei des Menübands ein Attribut zu, das eine Rückrufmethode in Ihrem Code identifiziert.

  • Definieren Sie die Rückrufmethode in der Ribbon-Klasse.

Hinweis

Outlook erfordert einen zusätzlichen Schritt. Weitere Informationen finden Sie unter Anpassen eines Menübands für Outlook.

Eine exemplarische Vorgehensweise, die veranschaulicht, wie eine Anwendung über das Menüband automatisiert wird, finden Sie unter Walkthrough: Create a custom tab by using Ribbon XML.

Weisen Sie Callback-Methoden Steuerelementen zu

Um in der Menüband-XML-Datei einem Steuerelement eine Callback-Methode zuzuweisen, fügen Sie ein Attribut hinzu, das den Typ der Callback-Methode und den Namen der Methode angibt. Das folgende Element definiert z. B. eine Umschaltfläche mit einer onAction-Rückrufmethode mit dem Namen OnToggleButton1.

<toggleButton id="toggleButton1" onAction="OnToggleButton1" />

onAction wird aufgerufen, wenn der Benutzer die Hauptaufgabe ausführt, die einem bestimmten Steuerelement zugeordnet ist. Die onAction-Rückrufmethode einer Umschaltfläche wird beispielsweise aufgerufen, wenn der Benutzer auf die Schaltfläche klickt.

Die im Attribut angegebene Methode kann einen beliebigen Namen haben. Sie muss jedoch mit dem Namen der Methode übereinstimmen, die Sie in der Menüband-Codedatei definieren.

Es gibt viele verschiedene Arten von Rückrufmethoden, die Sie Menüband-Steuerelementen zuweisen können. Eine vollständige Liste der für jedes Steuerelement verfügbaren Rückrufmethoden finden Sie im technischen Artikel Anpassen der Office-Benutzeroberfläche (2007) des Menübands für Entwickler (Teil 3 von 3).

Definieren von Rückrufmethoden

Definieren Sie Ihre Rückrufmethoden in der Menüband-Klasse in der Menüband-Codedatei. Eine Rückrufmethode hat mehrere Anforderungen:

  • Sie muss als öffentlich deklariert werden.

  • Der Name muss mit dem Namen einer Rückrufmethode übereinstimmen, die Sie einem Steuerelement in der XML-Datei des Menübands zugewiesen haben.

  • Die Signatur muss mit der Signatur eines Callback-Methodentyps übereinstimmen, der für das zugehörige Ribbon-Steuerelement verfügbar ist.

    Eine vollständige Liste der Rückrufmethodensignaturen für Menübandsteuerelemente finden Sie im technischen Artikel Anpassen der Office-Benutzeroberfläche (2007) des Menübands für Entwickler (Teil 3 von 3). Visual Studio bietet keine IntelliSense-Unterstützung für Rückrufmethoden, die Sie in der Menübandcodedatei erstellen. Wenn Sie eine Rückrufmethode erstellen, die keiner gültigen Signatur entspricht, wird der Code kompiliert, aber nichts tritt auf, wenn der Benutzer auf das Steuerelement klickt.

    Alle Rückrufmethoden verfügen über einen IRibbonControl Parameter, der das Steuerelement darstellt, das die Methode aufgerufen hat. Sie können diesen Parameter verwenden, um dieselbe Rückrufmethode für mehrere Steuerelemente wiederzuverwenden. Im folgenden Codebeispiel wird eine onAction-Rückrufmethode veranschaulicht, die unterschiedliche Aufgaben ausführt, je nachdem, welches Steuerelement der Benutzer klickt.

    public void OnActionCallback(Office.IRibbonControl control, bool isPressed)
    {
        if (control.Id == "checkBox1")
        {
            MessageBox.Show("You clicked " + control.Id);
        }
        else
        {
            MessageBox.Show("You clicked a different control.");
        }
    }
    

Menüband-XML-Dateireferenz

Sie können Ihr benutzerdefiniertes Menüband definieren, indem Sie der XML-Datei des Menübands Elemente und Attribute hinzufügen. Standardmäßig enthält die XML-Datei des Menübands die folgende XML-Datei.

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="OnLoad">
  <ribbon>
    <tabs>
      <tab idMso="TabAddIns">
        <group id="MyGroup"
               label="My Group">
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

In der folgenden Tabelle werden die Standardelemente in der XML-Datei des Menübands beschrieben.

Element Description
customUI Stellt das benutzerdefinierte Menüband im VSTO-Add-In-Projekt dar.
Bändchen Stellt das Menüband dar.
Tabulatoren Stellt einen Satz von Registerkarten des Menübands dar.
Registerkarte Stellt eine einzelne Registerkarte im Menüband dar.
group Stellt eine Gruppe von Steuerelementen auf der Registerkarte "Ribbon" dar.

Diese Elemente verfügen über Attribute, die das Aussehen und Verhalten des benutzerdefinierten Menübands angeben. In der folgenden Tabelle werden die Standardattribute in der XML-Datei des Menübands beschrieben.

Merkmal Übergeordnetes Element Description
onLoad customUI Identifiziert eine Methode, die aufgerufen wird, wenn die Anwendung das Menüband lädt.
idMso Registerkarte Identifiziert eine integrierte Registerkarte, die im Menüband angezeigt werden soll.
id group Identifiziert die Gruppe.
label group Gibt den Text an, der in der Gruppe angezeigt wird.

Die Standardelemente und Attribute in der Menüband-XML-Datei sind eine kleine Teilmenge der verfügbaren Elemente und Attribute. Eine vollständige Liste der verfügbaren Elemente und Attribute finden Sie im technischen Artikel Anpassen der Office-Benutzeroberfläche (2007) des Menübands für Entwickler (Teil 2 von 3).

Referenz zur Ribbon-Klasse

Visual Studio generiert die Menübandklasse in der Menüband-Codedatei. Fügen Sie dieser Klasse die Rückrufmethoden für Steuerelemente im Menüband hinzu. Diese Klasse implementiert die IRibbonExtensibility-Schnittstelle.

In der folgenden Tabelle werden die Standardmethoden in dieser Klasse beschrieben.

Methode Description
GetCustomUI Gibt den Inhalt der XML-Datei des Menübands zurück. Microsoft Office-Anwendungen rufen diese Methode auf, um eine XML-Zeichenfolge abzurufen, die die Benutzeroberfläche Ihres benutzerdefinierten Menübands definiert. Diese Methode implementiert die GetCustomUI Methode. Anmerkung:GetCustomUI sollte nur implementiert werden, um den Inhalt der XML-Datei des Menübands zurückzugeben; Es sollte nicht verwendet werden, um Ihr VSTO-Add-In zu initialisieren. Insbesondere sollten Sie nicht versuchen, Dialogfelder oder andere Fenster in Ihrer GetCustomUI Implementierung anzuzeigen. Andernfalls verhält sich das benutzerdefinierte Menüband möglicherweise nicht ordnungsgemäß. Wenn Sie Code ausführen müssen, der Ihr VSTO-Add-In initialisiert, fügen Sie den Code zum ThisAddIn_Startup Ereignishandler hinzu.
OnLoad Weist den Parameter IRibbonControl dem Feld Ribbon zu. Microsoft Office-Anwendungen rufen diese Methode auf, wenn sie das benutzerdefinierte Menüband laden. Sie können dieses Feld verwenden, um das benutzerdefinierte Menüband dynamisch zu aktualisieren. Weitere Informationen finden Sie im technischen Artikel Anpassen der Office-Benutzeroberfläche (2007) des Menübands für Entwickler (Teil 1 von 3).
GetResourceText Wird von der GetCustomUI Methode aufgerufen, um den Inhalt der XML-Datei des Menübands abzurufen.