-1

我无法在运行时在 Ribbon 类中将项目添加到下拉控制器。但是,看起来很多主题甚至 msdn 都使用 Globals 类属性来解决它。

https://msdn.microsoft.com/en-us/library/bb772088.aspx

此 msdn 页面上的第一个示例对我不起作用。我无法到达下拉菜单或任何其他控制器(按钮、组合框等)。

这是我的 .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>

还有我试图访问 dropDown 项的 .cs:

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();
        }
    }
}

问候,

4

1 回答 1

1

我知道我在直接操作功能区时遇到了问题。一件事可能会解决它是使功能区无效

或者,您可以使其动态化,并让值来自代码。我在我的 Word 加载项中执行此操作,并且效果很好。如果您更改这些值,之后可能必须使其无效(第一次设置后我不会更改我的值)。

<dropDown id="mycustomid" showLabel="false" onAction="onAction" getSelectedItemIndex="getSelected"
          getItemCount="getCount" getItemID="getID" getItemLabel="getLabel" getEnabled="getEnabled"
          screentip="whatever" supertip="whatever" />


public void onAction(IRibbonControl control, string id, int index)
{
}

public int getSelected(IRibbonControl control)
{
}

public int getCount(IRibbonControl control)
{
}

public string getID(IRibbonControl control, int index)
{
}

public string getLabel(IRibbonControl control, int index)
{
}
于 2016-06-17T13:30:19.930 回答