Я пытаюсь динамически заполнить меню решения правой кнопкой мыши пунктами меню VS Package (расширение).
У меня есть меню расширений с именем «MyMenuName», и я добавляю туда пункты меню.
Вот код, который я использую:
DTE2 dte = GetService(typeof (DTE)) as DTE2;
CommandBars cmdBars = dte.CommandBars as CommandBars;
CommandBar owner = cmdBars["MyMenuName"];
CommandBarControl ctl1 = owner.Controls.Add(
MsoControlType.msoControlButton, 1, string.Empty, 1, true);
ctl1.Caption = "caption";
ctl1.Enabled = true;
//register on the Click event of the
//button menu item
CommandBarEvents buttonMenuItemHandler = (CommandBarEvents)dte.DTE.Events.CommandBarEvents[ctl1];
buttonMenuItemHandler.Click += buttonMenuItemHandler_Click;
Элемент меню успешно добавлен, но обработчик щелчка не выполняется. Есть идеи?
Редактировать: я выкопал некоторый код здесь: https://netrepo.svn.codeplex.com/svn/trunk/AssemblyFactoryAddin/AssemblyFactoryAddin/GUIButton.cs
И кажется, что мой код должен быть правильным (при условии, что их код работает)