将添加内容命令添加到“添加”上下文菜单

时间:2014-06-11 07:01:53

标签: c# visual-studio-2012 sdk add-in

我正在尝试向Visual Studio 2012中的Add上下文菜单添加命令(右键单击MVC项目中的Controllers文件夹并导航到Add)

我尝试了divide and concur方法并通过执行

将命令添加到所有命令栏
var cmdBars = (CommandBars)(_applicationObject.CommandBars);

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

这是将命令添加到父菜单,如下图所示,但不是Add菜单。如何将命令添加到此菜单中?

enter image description here

1 个答案:

答案 0 :(得分:0)

所以我终于找到了一篇MSDN文章,指出了我正确的方向,Working with Command Bar Controls

简而言之,每个命令栏可能包含一组控件。子菜单将包含在这组控件中,您可以访问这些子菜单,与访问原始命令栏的方式完全相同。

所以我做了以下

// 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);

我现在已成功将命令添加到Add子菜单,如下图所示 enter image description here