簡體   English   中英

VSTO Ribbon Combo Box 動態添加項目

[英]VSTO Ribbon Combo Box Add items Dynamically

如何動態添加組合框項目?

我有一個組合框,我將在 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
        }

功能區.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>

試試這個:

 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";
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM