E’ possibile, in SharePoint, inserire un Ribbon “custom” in modo dinamico all’interno di una “application page” (ad esempio vincolandolo al verificarsi di una certa condizione).
 
Per farlo è necessario eseguire tre semplici passi:
 
Il primo consiste nel definire il nostro Ribbon all’interno di una feature. La particolarità da tener presente consiste nel fatto che il ribbon non va associato a nessun “template” di lista e a nessun “content-type” (parametri del Tag “CustomAction”).
    
        
            | <Elements xmlns="http://schemas.microsoft.com/sharepoint/">   <CustomAction Id="Siva.Ribbon.TabCustom" Location="CommandUI.Ribbon">     <CommandUIExtension>       <CommandUIDefinitions>         <CommandUIDefinition Location="Ribbon.Tabs._children">           <Tab Id="Ribbon.TabCustom"             Sequence="1101"             Description="My description"             Title="My title"> … | 
    
 
Il secondo consiste nell’inserire all’interno della nostra “allication page” (o se serve all’interno della “master page”) il controllo SPRibbon.
    
        
            |     <SharePoint:SPRibbon ID="SPRibbonVC" runat="server" PlaceholderElementId="RibbonContainer" CssFile="" >     <SharePoint:SPRibbonPeripheralContent runat="server" Location="TabRowRight" ID="RibbonTabRowRight" CssClass="s4-trc-container s4-notdlg"></SharePoint:SPRibbonPeripheralContent>     </SharePoint:SPRibbon> | 
    
 
Il terzo, ed ultimo, passo, consiste nell’associare al controllo SPRibbon il nostro Ribbon “custom”, all’interno dell’evento “OnPreRender”.
    
        
            | if (myContition == true) {        SPRibbon current = SPRibbon.GetCurrent(this);        if (current != null)        {              current.CommandUIVisible = true;              current.MakeTabAvailable("Ribbon.TabCustom");              current.InitialTabId = "Ribbon.TabCustom";              current.Minimized = false;        } } | 
    
  
Technorati Tags: SharePoint 2013