Frage

Ich frage mich, dass es eine Fähigkeit ist, nicht nur einen, sondern mehrere Werte von festzulegen RegistrationId in CustomAction Schild.

Ich habe einen Element.xml -Eintrag wie diesen:

<CustomAction
Id="ClassifyDialogButton.SharePoint.Ribbon.CustomTab"
Location="CommandUI.Ribbon"    
Rights="EditListItems"
RegistrationType="List"    
RegistrationId="101">

Weiß jemand, wie ich es ändern soll, um zwei weitere RegistrierungsIDs hinzuzufügen?

War es hilfreich?

Lösung

In der Regel haben XML -Attribute nicht mehr als einen Wert ausgelegt.

Interessanterweise das Attribut scheint optional zu sein, Es kann also möglich sein, es auf viele Orte gleichzeitig anzuwenden, indem es auslässt (wahrscheinlich zu viele).

Mein einziger anderer Vorschlag wäre es, eine gute altmodische Kopie zu machen und ein benutzerdefiniertes Element für jede benötigte Registrierung zu haben.

Andere Tipps

Was Sie wirklich suchen, ist SharePoint 2010 Fluent Ribbon API. Es ist ein Codeplex -Projekt, das die Arbeit mit dem Band vereinfacht. Es verfügt über eine detaillierte Dokumentation, einschließlich einer großen Anzahl von Proben und Screenshots.

Das einzig schlechte an dieser Lösung ist, dass Sie Ihre XML -Banddefinition nach Fluentribbon -Ribbon -Definition umschreiben sollten. Code-Definitionen sind jedoch viel flexibler, und auch Fluentribbon bietet einige zusätzliche Funktionen: vereinfachte Syntax, Dokumentation in voller Länge und qualitative Validierung, also lohnt es sich.

In Ihrem Fall sieht der resultierende Code so aus (in der Feature -Empfängerklasse in der Featurectivated -Methode):

var myTab = new TabDefinition
{
    Id = "MyTab",
    Title = "My tab",

    // etc, create your definition here...
};

// instantiate RibbonCustomAction class
var ribbonCustomAction = new RibbonCustomAction();

// add one or more ribbon definitions, which will be deployed
// in same scope.
// RibbonCustomAction acts like a container for such definitions.
ribbonCustomAction.AddTab(myTab);

// Let's provision our custom action
// receiverGuid is a random constant Guid, which must be unique
// in the feature scope. It is used for cleanup in FeatureDeactivating
// method.
ribbonCustomAction.Provision(
    receiverGuid, 
    web, 
    ListTypes.GenericLibrary, 
    ListForms.All,
    SPBasePermissions.ManageLists);

// Next, we can provision the same custom action again and again to different
// locations. For example, let's register it for Links list:
ribbonCustomAction.Provision(
    receiverGuid, 
    web, 
    ListTypes.LinksList, 
    ListForms.All,
    SPBasePermissions.ManageLists);

Übrigens, Bestimmung Die Methode hat viele Überladungen, im einfachsten Fall sollten Sie nur 2-3 Params bereitstellen.

Sie können weitere Beispiele finden auf der Projektstelle.

PS Bitte, vergessen Sie nicht, Verweis auf ribbonutils.dll hinzuzufügen und den Datensatz in die GAC -Bereitstellungsliste (Paket.Package, "Advanced Registerkarte", hinzufügen -> vorhandene Montage) hinzuzufügen.

Dies kann erreicht werden, indem der CustomAction -XML -Abschnitt dupliziert wird. Kopieren Sie einfach den gesamten Abschnitt "Custom Action" und fügen Sie den folgenden Abschnitt 1st CustomAction XML ein und ändern Sie die Registrierung in die nächste Registrierung, in der es angezeigt werden soll.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top