如何在SharePoint 2010 中添加选项卡到Ribbon功能区

如何在SharePoint 2010 中添加选项卡到Ribbon功能区

        功能区统一了SharePoint内命令界面。在SharePoint中它现在是使用项目主要的切入点。同样的,随着Feature中声明式XML的使用,功能区也广泛使用。本文覆盖了如何在Microsoft SharePoint Foundation 2010中添加新的选项卡到功能区。必要的,也会覆盖如何创建组、控件、模板和缩放行为。为了易于部署,我将作为沙箱解决方案创建。

        首先,打开Visual Studio 2010,点击文件,然后新建项目。
        在Visual C#下,选择空白SharePoint项目,并输入AddARibbonTab名。点击确定。
        在SharePoint自定义向导内,选择部署为沙箱解决方案,点击确定。
        在解决方案资源管理器中,右击Feature,选择添加功能。
        修改Feature标题为Custom Ribbon Tab。重命名Feature1为CustomRibbonTab。
        在解决方案资源管理器中右击AddARibbonTab项目,选择添加,新建项。
        在添加新项对话框中,选择空元素模板,命名CustomRibbonTab。
        在Elements.xml文件中,插入下列CustomAction元素。Location属性告诉CustomAction应用自定义的地方。以下列表解释了可接受的值。



   
   

   
   
  
    
    
 
  
    
    

   
   

        PS:RegistrationId="101",表明此自定义操作在文档库中。100是自定义列表的类型。

        添加下列元素,定义功能区拓展和选项卡。CommandUIDefinition元素上的Location定义了布局控件的位置。本例中,你引用功能区选项卡集。_children告诉功能区插入下列XML,无论是选项卡、组或控件到选项卡集。Sequence属性定义了相对其他选项卡,这个选项卡的位置。默认选项卡使用100的倍数,所以Sequence属性不应该使用100的倍数以防止冲突。


  
  
      
   
   
        
    
    
          
     
     

     
     
    
    
   
   
  
  

        创建自定义选项卡时,你必须定义当控件被添加时选项卡如何缩放。通过使用GroupTemplate和Scaling元素即可解决。MaxSize元素定义了组中控件最大大小。Scale元素定义了不同情况下组如何缩放。GroupId属性关联有缩放大小的组。Size属性被Layout元素定义,稍后定义。


  
  
        
   
   
        
   
   

  
  

        现在你将要定义出现在选项卡上的控件组。Group元素包含了Template属性的一般属性。Template属性引用了稍后定义的GroupTemplate。Controls元素包含出现在组中的控件。这些可以是按钮、下拉以及其他控件类型。组中的控件必须定义TemplateAlias和Command属性。像选项卡一样,每个控件都有一个Sequence属性,定义其在组中的位置。默认控件是基于10的倍数,所以任何自定义的控件都不应该使用10的倍数以避免冲突。Command属性被稍后定义的CommandUIHandler使用。但是即使CommandUIHandler没有指定,它也是必要的。TemplateAlias属性定义了控件相对GroupTemplate的位置。


  
  
              
   
   
                
    
    
                  
     
     
                  
     
     
                  
     
     
                
    
    
              
   
   
            
  
  
          
        

        你已经完成了第一个CommandUIDefinition,包括选项卡、组和控件。你需要定义在组中控件如何呈现。在另一个CommandUIDefinition中使用GroupTemplate元素。CommandUIDefinition将有个位置Ribbon.Templates._children。和组与选项卡模式一样。

        GroupTemplate元素包含了带有Section和Row元素的Layout元素。这个元素有一个LayoutTitle被MaxSize和Scale元素上的Size属性使用。Section元素定义了控件位置以及节中有多少行。Row元素包含一个或更多ControlRef元素。ControlRef元素定义了控件如何显示。DisplayMode元素有以下值:


        ControlRef元素也定义了在按钮上TemplateAlias属性值。注意每组只有一个控件使用这个值。你不能有两个控件同时有相同TemplateAlias,除非是OverflowArea。你可以在不同组间重用TemplateAlias。也有一个OverflowArea元素定义如果组中有太多控件时,控件如何呈现。参考GroupTemplate中的OverflowArea的TemplateAlias属性可以用在多个控件中。

        本例中,你将定义两个节呈现控件。一个节是大按钮行,另一个包含两行中等大小按钮。


  
  
          
   
   
            
    
    
              
     
     

        最后一步是写按钮的处理器。这些在CommandUIHandler元素中。Command属性石命令的唯一名称,用作控件的Command属性。CommandAction属性包含控件执行的操作。这可以是JavaScript,一个URL或者任何之前包含在一个UrlAction元素中的操作。


  
  
        
   
   
        
   
   
        
   
   

  
  

        添加了CommandUIHandler,你完成了Elements.xml文件。

        最后的代码是这样的:


   
   

   
   
  
    
    
    
     
     
      
      
      
        
       
        
         
          
           
           
          
          
           
            
             
             
             
            
           
          
         
       
        
       
        
         
          
          

        按下F5部署你的解决方案。导航到共享文件夹。你应该看到了自定义的选项卡。点击打开它。点击任何按钮显示相关通知。希望我的教程有用。如果你有什么问题,请在评论中联系我。

        样图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值