c#:显示程序中以XML格式定义的动态菜单

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#:显示程序中以XML格式定义的动态菜单相关的知识,希望对你有一定的参考价值。

我有Outlook Addin,其中包含在XML文件中定义的按钮。这一行来自该文件。

  <dynamicMenu id="idSaveAttachments" getLabel="GetLabel" image="SaveAttachmentsIcon" size="large" getScreentip="getScreenTooltip" invalidateContentOnDrop="true" getContent="GetAttachmentsMenu" getEnabled="GetEnabled"/>

据我所知,它定义了一个按钮,当它被点击时,调用GetAttachmentsMenu函数来填充菜单。它完美地运作。

目前我想从代码中显示该菜单。我可以调用GetAttachmentsMenu函数并以XML格式获取菜单内容,但我不知道如何显示菜单。

这怎么可能?是否有通用方法从程序中调用此类基于XML的UI项?

它使用Ribbon UI模型。

我试过这段代码:

    Outlook.Application applicationObject = Globals.MyThisAddIn.Application;
    Outlook.Explorer  oExp = (Outlook.Explorer)applicationObject.ActiveExplorer();
    oExp.CommandBars.ExecuteMso("idSaveAttachments");

但我收到错误:

“价值不在预期范围内。”

答案

Fluent用户界面没有提供任何内容。 ExecuteMso方法仅接受内置控件的众所周知的idMso值。

以上是关于c#:显示程序中以XML格式定义的动态菜单的主要内容,如果未能解决你的问题,请参考以下文章

将代码片段插入数据库并在 textarea 中以相同方式显示

ue 怎么格式化xml

为 Blogger 上的博客格式化代码片段 [关闭]

xml 自定义操作提供程序,仅显示菜单项的子菜单

UI5 - XML片段中的格式化程序只执行一次。如何再次运行它们?

ListFragment 的上下文菜单