VSTO功能区组合框动态添加项目
本文关键字:添加 项目 动态 功能区 组合 VSTO | 更新日期: 2023-09-27 18:12:36
如何动态添加组合框项?
我有一个组合框,我将在OnChange回调事件期间调用API。在将项目加载到组合框
时出现问题 public void OnChange(Office.IRibbonControl control, string text)
{
var result = GETMembersList("https://restcountries.eu/rest/v1/all");
var members = from member in result
select member;
foreach (var member in members)
{
dsMember mem = new dsMember();
mem.Id = member["numericCode"].ToString();
mem.Name = member["name"].ToString();
RibbonDropDownItem item = Globals.Factory.GetRibbonFactory().CreateRibbonDropDownItem();
item.Label = mem.Name;
**cmbMembers.Items.Add(item);** ?? //problem here, cant access the combo box
}
Ribbon.xml
<?xml version="1.0" encoding="UTF-8"?>
<customUI onLoad="Ribbon_Load" xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<tab id="tabTest" label="TEST">
<group id="grpTest">
<comboBox id="cmbMembers" label="Users" showImage="false"
onChange="OnChange"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
try this:
RibbonDropDownItem item = Factory.CreateRibbonDropDownItem();
VISTO有一个问题,我也试过从代码后面添加多个项目,但出了问题。但是,可以动态修改现有项。尝试在Ribbon1_Load事件中编辑。
public partial class Ribbon1
{
private void Ribbon1_Load(object sender, RibbonUIEventArgs e)
{
this.comboBox1.Items[0].Label = "new Lable";
}
}