Mat*_*tze 4 sdk vsx vsix visual-studio-extensions visual-studio-2012
我按照定义工具窗口工具栏这个步行通过描述。
将新按钮添加到工具栏,并将它们连接到我的包中的代码,没有问题并且工作正常(所以我不是在寻找有关如何添加简单按钮的信息)。我看到还有其他按钮类型,例如SplitDropDown和MenuButton。两者都完全符合我的要求。但是我找不到任何关于如何以正确的方式定义子菜单的信息,我所有的实验都失败了。
这是我的按钮定义:
<Button guid="guidVsCmdSet" id="cmdIdSplitDowndown" priority="0x106" type="SplitDropDown">
<Parent guid="guidVsCmdSet" id="VsToolbarGroup" />
<Icon guid="guidImages" id="bmpPic2" />
<CommandFlag>IconAndText</CommandFlag>
<Strings>
<CommandName>cmdIdSplitDropdown</CommandName>
<ButtonText>Goto Next</ButtonText>
</Strings>
</Button>
Run Code Online (Sandbox Code Playgroud)
我想添加一个SplitDropDown具有一些预定义/静态子项的按钮。我想按钮的视觉外观看起来像 Visual Studio 的“向后导航”按钮。这就是我正在努力实现的目标。
有谁知道一个SplitDropDown按钮的定义,有一个子菜单,会是什么样子?
似乎Visual Studio IDE 不再支持SplitDropDown和MenuButton类型(至少 v11,但我没有在早期版本上测试它。也许我错了,但我无法将这些类型的按钮放入我的工具栏中) . 相反,可以使用类型为Menuor的 Menu MenuController。该类型的Menu行为类似于已弃用的MenuButton(即使由于按钮的高度较小,它的视觉外观并不完全相同)并且该类型的MenuController行为类似于已弃用的SplitDropDown.
因此,为了获得拆分下拉菜单,我在 VSCT 文件中添加了以下菜单声明:
<Menu guid="guidVsCmdSet" id="menuIdSubMenu" type="MenuController" priority="0x0001" toolbarPriorityInBand="0x0001">
<Parent guid="guidVsCmdSet" id="VsToolbarGroup" />
<CommandFlag>IconAndText</CommandFlag>
<CommandFlag>NotInTBList</CommandFlag>
<Strings>
<ButtonText>My Button</ButtonText>
<CommandName>My Button</CommandName>
</Strings>
</Menu>
Run Code Online (Sandbox Code Playgroud)
并为下拉命令创建了一个新组;该组的父级设置为菜单。
<Group guid="guidVsCmdSet" id="VsSubMenuGroup" priority="0x0001">
<Parent guid="guidVsCmdSet" id="menuIdSubMenu" />
</Group>
Run Code Online (Sandbox Code Playgroud)
最后,我可以向该组添加普通按钮,这些按钮将显示为菜单项。
<Button guid="guidVsCmdSet" id="cmdIdSubMenuItem1" priority="0x0001" type="Button">
<Parent guid="guidVsCmdSet" id="VsSubMenuGroup" />
<CommandFlag>TextOnly</CommandFlag>
<Strings>
<CommandName>cmdIdSubMenuItem1</CommandName>
<ButtonText>Members</ButtonText>
</Strings>
</Button>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1288 次 |
| 最近记录: |