Question

Je me demande est-il possibilité de définir non seulement une, mais plusieurs valeurs de RegistrationId dans la balise CustomAction.

J'ai une entrée elements.xml comme ceci:

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

Quelqu'un sait comment dois-je modifier pour ajouter deux autres RegistrationIds?

Était-ce utile?

La solution

En règle générale, les attributs XML ne sont pas conçus pour avoir plus d'une valeur.

Fait intéressant, l'attribut semble être facultative , il peut être possible de l'appliquer à un grand nombre d'endroits à la fois en laissant dehors (probablement trop).

Ma seule autre suggestion serait de faire un bon vieux copier-coller façonné et ont un élément CustomAction pour chaque RegistrationId nécessaire.

Autres conseils

Qu'est-ce que vous cherchez vraiment, est SharePoint 2010 Fluent API ruban . Il est un projet Codeplex, ce qui simplifie le travail avec un ruban. Il a une documentation approfondie, y compris énorme quantité d'échantillons et de captures d'écran.

La seule mauvaise chose au sujet de cette solution est que vous devez réécrire la définition de votre ruban XML à la définition du ruban FluentRibbon. Mais les définitions de code sont beaucoup plus souples, et aussi FluentRibbon offre quelques fonctionnalités supplémentaires:. Syntaxe simplifiée, documentation pleine longueur et de validation qualitative, donc l'OMI, il vaut le coup

Dans votre cas, le code résultant ressemblera à ceci (dans la classe de récepteur caractéristique, dans la méthode FeatureActivated):

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

BTW, Mise à disposition méthode a beaucoup, en cas de surcharge la plus facile, vous devez fournir seulement 2-3 params.

Vous pouvez trouver plus d'exemples sur le site du projet .

P.S. S'il vous plaît, ne pas oublier d'ajouter une référence à RibbonUtils.dll et ajouter enregistrement dans la liste de déploiement GAC (emballage.Emballage, « onglet Avancé », Ajouter -> assemblage existant)

Ceci peut être accompli en dupliquant la section xml CustomAction. Il suffit de copier la section d'action ensemble personnalisé et coller ci-dessous la section 1er CustomAction xml et le changement RegistrationId à la prochaine RegistrationId que vous voulez qu'il apparaisse dans.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top