Создать кнопку ленты SharePoint 2010 программно без функции XML - PullRequest
0 голосов
/ 05 августа 2010

Мне нужно создать элемент ленты SharePoint 2010 (вкладки, кнопки, группы и т. Д.). Есть ли способ создать такие элементы через API-интерфейс SharePoint без использования пользовательских действий?

Edit: Я только что нашел возможность добавить такие элементы ( ссылка ):

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

Другим обходным решением будет добавление пользовательского веб-элемента управления и добавление динамических элементов управления в этот «заполнитель».

Есть ли способ создания элементов без использования узлов xml?

1 Ответ

1 голос
/ 13 апреля 2011

Для страниц макетов и веб-частей вы можете создать ленту без какого-либо XML, используя Утилиты ленты для SharePoint 2010 .

Например, для страницы макетов вам потребуется наследовать от 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, на данный момент это самый простой и быстрый способ программного создания ленты для страниц приложений и веб-частей.

...