Delen via


Ribbon XML

Met het item Lint (XML) kunt u een lint aanpassen met behulp van XML. Gebruik het item Lint (XML) als u het lint wilt aanpassen op een manier die niet wordt ondersteund door het lintitem (Visual Designer). Zie het lintoverzicht voor een vergelijking van wat u met elk item kunt doen.

Van toepassing op: De informatie in dit onderwerp is van toepassing op projecten op documentniveau en VSTO-invoegtoepassingsprojecten voor de volgende toepassingen: Excel; InfoPath 2013 en InfoPath 2010; Vooruitzicht; PowerPoint; Project; Visio; Woord. Zie Functies die beschikbaar zijn voor de Office-toepassing en het projecttype voor meer informatie.

Een XML-item (Lint) toevoegen aan een project

U kunt een Ribbon-item (XML) toevoegen aan elk Office-project vanuit het dialoogvenster Nieuw item toevoegen. Visual Studio voegt automatisch de volgende bestanden toe aan uw project:

  • Een lint-XML-bestand. Dit bestand definieert de gebruikersinterface (UI) van de Ribbon. Gebruik dit bestand om UI-elementen toe te voegen, zoals tabbladen, groepen en besturingselementen. Zie de Ribbon XML-bestandsreferentie later in dit onderwerp voor meer informatie.

  • Een Ribbon-codebestand. Dit bestand bevat de Ribbon class. Deze klasse heeft de naam die u hebt opgegeven voor het Lint (XML)-item in het dialoogvenster Nieuw item toevoegen. Microsoft Office-toepassingen gebruiken een exemplaar van deze klasse om het aangepaste lint te laden. Zie de naslaginformatie over de lintklasse verderop in dit onderwerp voor meer informatie.

    Deze bestanden voegen standaard een aangepaste groep toe aan het tabblad Invoegtoepassingen op het lint.

Het aangepaste lint weergeven in een Microsoft Office-toepassing

Nadat u een XML-item (Lint) aan uw project hebt toegevoegd, moet u code toevoegen aan de klasse ThisAddin, ThisWorkbook of ThisDocument die de CreateRibbonExtensibilityObject methode overschrijft en de XML-klasse Lint retourneert naar de Office-toepassing.

In het volgende codevoorbeeld wordt de CreateRibbonExtensibilityObject methode overschreven en retourneert een Ribbon XML-klasse genaamd MyRibbon.

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

Het gedrag van het aangepaste lint definiëren

U kunt reageren op gebruikersacties, zoals klikken op een knop op het lint, door callback-methoden te maken. Callback-methoden lijken op gebeurtenissen in Besturingselementen van Windows Forms, maar worden geïdentificeerd door een kenmerk in de XML van het UI-element. U schrijft methoden in de Ribbon-klasse, en een controle roept de methode aan waarvan de naam overeenkomt met de kenmerkwaarde. U kunt bijvoorbeeld een callback-methode maken die wordt aangeroepen wanneer een gebruiker op een knop op het lint klikt. Er zijn twee stappen vereist om een callback-methode te maken:

  • Wijs een kenmerk toe aan een besturingselement in het XML-bestand op het lint waarmee een callback-methode in uw code wordt geïdentificeerd.

  • Definieer de callback-methode in de Ribbon-klasse.

Opmerking

Outlook vereist een extra stap. Zie Een lint aanpassen voor Outlook voor meer informatie.

Zie Walkthrough: Een aangepast tabblad maken met behulp van lint-XML voor een overzicht waarin wordt gedemonstreerd hoe u een toepassing kunt automatiseren vanaf het lint.

Callback-methoden koppelen aan besturingselementen

Als u een callback-methode wilt toewijzen aan een besturingselement in het XML-bestand van het lint, voegt u een kenmerk toe dat het type callback-methode en de naam van de methode aangeeft. Met het volgende element wordt bijvoorbeeld een wisselknop gedefinieerd die een onAction-callback-methode heeft met de naam .OnToggleButton1

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

onAction wordt aangeroepen wanneer de gebruiker de hoofdtaak uitvoert die is gekoppeld aan een bepaald besturingselement. De callbackmethode onAction van een wisselknop wordt bijvoorbeeld aangeroepen wanneer de gebruiker op de knop klikt.

De methode die u in het kenmerk opgeeft, kan elke naam hebben. Deze moet echter overeenkomen met de naam van de methode die u in het lintcodebestand definieert.

Er zijn veel verschillende soorten callback-methoden die u kunt toewijzen aan lintbesturingselementen. Zie voor een volledige lijst van de callback-methoden die beschikbaar zijn voor elk besturingselement, het technische artikel De gebruikersinterface van Office (2007) aanpassen voor ontwikkelaars (deel 3 van 3).

Callback-methoden definiëren

Definieer de callback-methoden in de Lint-klasse in het lintcodebestand. Een callback-methode heeft verschillende vereisten:

  • Deze moet als openbaar worden gedeclareerd.

  • De naam moet overeenkomen met de naam van een callback-methode die u hebt toegewezen aan een besturingselement in het lint-XML-bestand.

  • De handtekening moet overeenkomen met de handtekening van een type callback-methode die beschikbaar is voor het bijbehorende lintbesturingselement.

    Zie het technische artikel De gebruikersinterface van Office (2007) aanpassen voor ontwikkelaars (deel 3 van 3) voor een volledige lijst van de callback-methodehandtekeningen voor Ribbon-besturingselementen. Visual Studio biedt geen IntelliSense-ondersteuning voor callback-methoden die u in het lintcodebestand maakt. Als u een callback-methode maakt die niet overeenkomt met een geldige handtekening, wordt de code gecompileerd, maar gebeurt er niets wanneer de gebruiker op het besturingselement klikt.

    Alle callback-methoden hebben een IRibbonControl parameter die het besturingselement vertegenwoordigt dat de methode aanroept. U kunt deze parameter gebruiken om dezelfde callbackmethode voor meerdere besturingselementen opnieuw te gebruiken. In het volgende codevoorbeeld ziet u een onAction-callbackmethode waarmee verschillende taken worden uitgevoerd, afhankelijk van welk besturingselement de gebruiker aanklikt.

    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.");
        }
    }
    

Naslaginformatie voor het XML-bestand van het Ribbon

U kunt het aangepaste lint definiëren door elementen en kenmerken toe te voegen aan het XML-bestand van het lint. Het XML-bestand op het lint bevat standaard de volgende XML.

<?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 de volgende tabel worden de standaardelementen in het XML-bestand van het lint beschreven.

Onderdeel Description
customUI Vertegenwoordigt het aangepaste lint in het VSTO Add-in project.
ribbon Vertegenwoordigt het lint.
tabs Vertegenwoordigt een set linttabbladen.
tabblad Vertegenwoordigt één linttabblad.
group Vertegenwoordigt een groep besturingselementen op het Lint-tabblad.

Deze elementen hebben kenmerken die het uiterlijk en gedrag van het aangepaste lint opgeven. In de volgende tabel worden de standaardkenmerken in het XML-bestand van het lint beschreven.

Attribute Bovenliggend element Description
onLoad customUI Identificeert een methode die wordt aangeroepen wanneer de toepassing het lint laadt.
idMso tabblad Hiermee wordt een ingebouwd tabblad geïdentificeerd dat moet worden weergegeven op het lint.
ID group Identificeert de groep.
etiket group Hiermee geeft u de tekst op die in de groep wordt weergegeven.

De standaardelementen en kenmerken in het lint-XML-bestand vormen een kleine subset van de elementen en kenmerken die beschikbaar zijn. Zie het technische artikel De gebruikersinterface van Het Lint van Office (2007) aanpassen voor ontwikkelaars (deel 2 van 3) voor een volledige lijst met beschikbare elementen en kenmerken.

Verwijzing naar lintklasse

Visual Studio genereert de lintklasse in het lintcodebestand. Voeg de callback-methoden voor besturingselementen op het lint toe aan deze klasse. Met deze klasse wordt de IRibbonExtensibility-interface geïmplementeerd.

In de volgende tabel worden de standaardmethoden in deze klasse beschreven.

Methode Description
GetCustomUI Retourneert de inhoud van het Ribbon XML-bestand. Microsoft Office-toepassingen roepen deze methode aan om een XML-tekenreeks te verkrijgen die de gebruikersinterface van uw aangepaste lint definieert. Met deze methode wordt de GetCustomUI methode geïmplementeerd. Notitie:GetCustomUI mag alleen worden geïmplementeerd om de inhoud van het XML-bestand op het lint te retourneren; deze moet niet worden gebruikt om uw VSTO-invoegtoepassing te initialiseren. In het bijzonder moet u niet proberen dialoogvensters of andere vensters in uw GetCustomUI implementatie weer te geven. Anders werkt het aangepaste lint mogelijk niet correct. Als u code moet uitvoeren waarmee uw VSTO-invoegtoepassing wordt geïnitialiseerd, voegt u de code toe aan de ThisAddIn_Startup gebeurtenis-handler.
OnLoad Hiermee wijst u de IRibbonControl parameter toe aan het Ribbon veld. Microsoft Office-toepassingen roepen deze methode aan wanneer ze het aangepaste lint laden. U kunt dit veld gebruiken om het aangepaste lint dynamisch bij te werken. Zie het technische artikel De gebruikersinterface van Het Lint van Office (2007) aanpassen voor ontwikkelaars (deel 1 van 3) voor meer informatie.
GetResourceText Aangeroepen door de GetCustomUI methode om de inhoud van het XML-bestand van het lint te verkrijgen.