c#outlook addin xml动态菜单没有填充

时间:2016-10-19 21:43:32

标签: c# xml outlook

我使用功能区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方法的方式有问题。感谢您的帮助!

1 个答案:

答案 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