如何添加嵌套的上下文菜单 - visual studio addin

时间:2016-11-17 10:19:48

标签: c# .net visual-studio

我为Visual Studio 2015创建了一个看起来this

的扩展程序

但我想将所有四个菜单放在一个类别中,例如 My Group 。哪个应该是this

  • 我的小组[点击此处,其他子菜单应与图片中显示的相同]
    • 菜单一
    • 菜单二

我的vsct文件看起来像这样

<Commands package="package">    
    <Groups>
      <Group guid="PackageCmdSet" id="MenuGroup" priority="0x0300">
        <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_ITEMNODE"/>
      </Group>

      <Group guid="ClassPackageCmdSet" id="ProjectMenuGroup" priority="0x0400">
        <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_PROJNODE"/>
      </Group>
    </Groups>

我有这样的按钮

 <Buttons>    
      <Button guid="PackageCmdSet" id="BranchModelClassId" priority="0x0100" type="Button" >
        <Parent guid="PackageCmdSet" id="MenuGroup" />
        <Icon guid="guidImages" id="bmpPic1" />
        <CommandFlag>DynamicVisibility</CommandFlag>
        <Strings>
          <CommandName>Test</CommandName>
          <ButtonText>Test</ButtonText>
        </Strings>
      </Button>

如何在第二张图片中创建一个嵌套的菜单?

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

我终于弄明白了。必须在vsct文件中完成更改。

首先在命令

中添加菜单
  <Menus>
      <Menu guid="PackageCmdSet" id="MainMenu" priority="0x0100" type="Menu">
        <Parent guid="PackageCmdSet" id="MenuGroup" />
        <Strings>
          <ButtonText>Nested Menu</ButtonText>
        </Strings>
      </Menu>
 <Menus>

然后添加组

<Groups>
      <Group guid="PackageCmdSet" id="MenuGroup" priority="0x0200">
        <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_ITEMNODE"/>
      </Group>

      <Group guid="PackageCmdSet" id="CommandsMenuGruop" priority="0x0300">
        <Parent guid="PackageCmdSet" id="MainMenu"/>
      </Group>
  <Groups>

按钮应该是这样的

 <Buttons>
      <Button guid="PackageCmdSet" id="ClassId" priority="0x0100" type="Button">
        <Parent guid="PackageCmdSet" id="CommandsMenuGruop" />
        <Icon guid="guidImages" id="bmpPic1" />
        <CommandFlag>DynamicVisibility</CommandFlag>
        <Strings>
          <CommandName>Command</CommandName>
          <ButtonText>Item 1</ButtonText>
        </Strings>
      </Button>
  <Buttons>