gpt4 book ai didi

VSTO 功能区上下文菜单动态层次结构

转载 作者:行者123 更新时间:2023-12-04 01:45:04 24 4
gpt4 key购买 nike

如何使用 VSTO 功能区(适用于 Outlook 2016)创建动态菜单层次结构?

xml 占位符可能看起来像这样,但我需要在菜单根目录下添加/删除菜单树(而不是 dummySingle)。似乎需要对菜单项进行“getDependents”回调之类的东西。

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
<contextMenus>
<contextMenu idMso="ContextMenuMailItem">
<menu id="Menu Root" label="Menu Root" >
<button id="dummySingle"
label="dummy"
onAction="DummyAction"/>
</menu >
</contextMenus>
</customUI>

最佳答案

您需要查看 Office 功能区的动态菜单。这将是您开始的绝佳来源:Adding Custom Dynamic Menus to the Office Fluent User Interface .您的功能区 XML 看起来像...

<dynamicMenu id="dynamicMenu1" 
label="Dynamic Menu"
getContent="GetContent" />

以及 GetContent处理程序,您将构建动态菜单上下文,可能看起来像...
public string GetContent(IRibbonControl control)
{
StringBuilder MyStringBuilder = new StringBuilder(@"<menu xmlns=""http://schemas.microsoft.com/office/2006/01/customui"" >");
MyStringBuilder.Append(@"<button id=""button1"" label=""Insert Text"" onAction=""OnAction"" imageMso=""SignatureLineInsert"" />");
MyStringBuilder.Append(@"<menuSeparator id=""menusep1"" getTitle=""GetTitle"" />");
MyStringBuilder.Append(@"<button id=""button2"" label=""Insert More Text"" onAction=""OnAction"" imageMso=""FileDocumentInspect"" />");
MyStringBuilder.Append(@"</menu>");
return MyStringBuilder.ToString();
}

更多动态菜单: documentation for dynamicMenu

关于VSTO 功能区上下文菜单动态层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44250519/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com