2010-08-05 83 views
0

我必须创建SharePoint 2010功能区元素(选项卡,按钮,组等)。有没有办法通过SharePoint API创建这些元素而不使用自定义操作?以编程方式创建SharePoint 2010功能区按钮(不含功能XML)

编辑: 我刚刚找到了possibilty添加元素,如本(link):

SPRibbon r = SPRibbon.GetCurrent(Page); 
r.RegisterDataExtension(/* XmlNode containing ribbon element code */); 

另一种解决方法是添加自定义的网络控制和动态控制附加到这个“占位”。

有没有办法创建元素而不使用XML节点?

回答

1

对于布局页面和Web部件,您可以使用Ribbon Utils for SharePoint 2010创建没有任何XML的功能区。

例如,对于布局页面,您需要从RibbonUtils.RibbonLayoutsPage继承并提供对功能区的定义。

代码自定义功能区选项卡最简单的页面&上一个按钮,看起来就像这样:

public partial class MyRibbonPage : RibbonLayoutsPage 
{ 
    public override TabDefinition GetTabDefinition() 
    { 
     return new TabDefinition() 
     { 
      Id = "TestRibbon", 
      Title = "Test", 
      Groups = new GroupDefinition[] 
      { 
       new GroupDefinition() 
       { 
        Id = "TestGroup", 
        Title = "Test group", 
        Template = GroupTemplateLibrary.SimpleTemplate, 
        Controls = new ControlDefinition[] 
        { 
         new ButtonDefinition() 
         { 
          Id = "TestButton", 
          Title = "Test button", 
          CommandJavaScript = "alert('test!');", 
          Image32Url = "/_layouts/images/lg_ICHLP.gif", 
         } 
        } 
       } 
      } 

     }; 
    } 
} 

你会发现更多的例子,并在CodePlex项目页面上很好的文档。

AFAIK,它是现在最简单,最快捷的方式,以编程方式为应用程序页面webparts创建功能区。