Добавление команды надстройки в контекстное меню «Добавить»

Я пытаюсь добавить команду в контекстное меню Add в Visual Studio 2012 (когда вы щелкаете правой кнопкой мыши папку «Контроллеры» в проекте MVC и переходите к «Добавить»)

Я попробовал подход «разделяй и соглашайся» и добавил команду на все панели команд, выполнив

var cmdBars = (CommandBars)(_applicationObject.CommandBars);

foreach (CommandBar cc in cmdBars)
{
    if (cc.Index >= 1 && cc.Index <= 456)
    {
        command.AddControl(cmdBars[cc.NameLocal]);
    }
}

Это добавляет команду в родительское меню, как показано на изображении ниже, но не в меню Add. Как я могу добавить свою команду в это меню?

введите здесь описание изображения


person Andre Lombaard    schedule 11.06.2014    source источник


Ответы (1)


Итак, я наконец нашел статью MSDN, которая указала мне правильное направление, Работа с элементами управления панели команд

Короче говоря, каждая панель команд может содержать набор элементов управления. Подменю будут содержаться в этом наборе элементов управления, и вы можете получить доступ к этим подменю точно так же, как к исходному набору панелей команд.

Поэтому я сделал следующее

// Get menu when right clicking the Controllers folder in a MVC project.
var folderCommandBar = (CommandBars)(_applicationObject.CommandBars)["Folder"];

// Get the Add sub menu.
var addCommandBarControl = folderCommandBar .Controls["Add"];

// Cast the control to a command bar popup.
var addCommandBarPopup  = (CommandBarPopup)addCommandBarControl;

// Now add the command.
command.AddControl(addCommandBarPopup, 1);

Теперь я успешно добавил команду в подменю «Добавить», как показано на изображении ниже введите здесь описание изображения

person Andre Lombaard    schedule 11.06.2014