我使用功能区xml制作动态上下文菜单,菜单出现,但显示在菜单内部。我看到"动态菜单"并将鼠标悬停在上下文菜单按钮上,但没有内容。
我的xml:
<contextMenus>
<contextMenu idMso='ContextMenuCalendarItem'>
<dynamicMenu id='MyDynamicMenu' label ='Dynamic Menu'getContent='GetMenuContent' />
</contextMenu >
</contextMenus>
和我的GetMenuContent方法:
public string GetMenuContent(Office.IRibbonUI ribbonUI)
{
string xmlString = "<menu xmlns='http://schemas.microsoft.com/office/2009/07/customui'>";
for (int i = 0; i < AddInDefs.thisProjectList.Count; i++)
{
xmlString = xmlString + "<button id='proj" + i + "' label='" +
AddInDefs.thisProjectList[i].name.ToString() + "' onAction='displayMsg'/>";
}
xmlString = xmlString + "</menu>";
return xmlString;
}
我在想我制作GetMenuContent方法的方式有问题。感谢您的帮助!
答案 0 :(得分:0)
使用:
修复StringBuilder xmlString = new StringBuilder(@"<menu xmlns=""http://schemas.microsoft.com/office/2009/07/customui"" >");
for (int i = 0; i < AddInDefs.thisProjectList.Count; i++)
{
xmlString.Append(@"<button id='proj" + i.ToString() + "' label='" +
AddInDefs.thisProjectList[i].name.ToString() + "' onAction='displayMsg'/>");
}
xmlString.Append(@"</menu>");
return xmlString.ToString();
并将Office.IRibbonUI ribbonUI
更改为Office.IRibbonControl control