Я не могу добавить элементы в выпадающий контроллер во время выполнения в классе ленты. Однако, похоже, что многие темы и даже msdn разрешают его с помощью свойств класса Globals.Невозможно добавить элемент в раскрывающийся список во время выполнения
https://msdn.microsoft.com/en-us/library/bb772088.aspx
firt пример на этой странице MSDN не работает для меня. Я не могу добраться до dropDown или любого другого контроллера (кнопка, comboBox и т. Д.).
Вот мой XML-файл:
<?xml version="1.0" encoding="utf-8" ?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" >
<ribbon>
<tabs>
<tab id="LFET" label="LFET(new)">
<group id="Data" label="Data">
<dropDown id="DropdownList" label="Dropdownlist1" visible="true">
</dropDown>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
И .cs, где я пытаюсь получить доступ к элементу DropDown:
namespace TEST
{
[ComVisible(true)]
public class TESTRibbon : Office.IRibbonExtensibility
{
private Office.IRibbonUI ribbon;
public void DropdownList()
{
//No way to access my custom ribbon like that.
Globals.Ribbons.Ribbon.Dropdownlist1.Items.Add();
}
}
}
С уважением,
Подход отличается в зависимости от того, используется ли RibbonXML или VSTO Ribbon Designer - эти два нельзя смешивать. Для XML ленты нужны «обратные вызовы» (такие же, как для VBA, например) в файле Ribbon.cs. Если вы используете Ribbon Designer, то VSTO устанавливает обратные вызовы в фоновом режиме, и вы можете использовать подход 'public void DropdownList()', который вы показываете в своем коде. В документации VSTO отправной точкой является https://msdn.microsoft.com/en-us/library/aa942866.aspx. Это содержит ссылки на 3 части статьи по настройке ленты, которая предоставляет остальную часть того, что вам нужно. –