约会中VSTO加载项禁用内置Outlook按钮(重复)

时间:2019-09-28 15:57:58

标签: vsto outlook-addin ribbonx

我正在开发Outlook插件(VSTO,C#)。我在VS中按照以下步骤创建了Addin:New-> Project,然后

enter image description here

根据我在此期间学到的所有知识,我担心这不会创建COM-AddIn。但是,下面列出的所有教程都涉及COM加载项。

我正在寻找有关如何禁用内置OUtlook按钮的逐步教程,该按钮将约会转换为定期约会。 我已经读过很多有关流利的色带的信息,例如

但是我无法为此目的将其付诸实践:

1。)我在我的Addin类中实现

public partial class ThisAddIn : Office.IRibbonExtensibility

...

 string Office.IRibbonExtensibility.GetCustomUI(string RibbonID)
        {

            throw new NotImplementedException();
        }

我在Exception上设置了断点。但是运行插件(在Debugger中)从未在那一刻停止过。 我尝试了这里提到的内容: IRibbonExtensibility GetCustomUI not called 我将[ComVisible(true)]添加到VSTO AddIn类中。也不起作用。我还确保仍然加载了Addin。

2。)我不确定如何使用Outlook。它说Outlook有几个xml文件(每个检查器一个?)

3。)我不确定我是否能够动态更改按钮。尽管第二篇教程对此进行了讨论,但是我不确定回调在这里是否正确,因为我的应用程序Activley希望确定按钮何时应该处于活动状态/非活动状态,因此不必等待回调发生? >

我知道上面提供的链接包含分步教程。但是这些教程有太多未解决的问题。

1 个答案:

答案 0 :(得分:0)

您已经找到了有关如何重新使用功能区按钮的完整指南。只需将command标记与功能区XML标记中定义的getEnabled属性一起使用即可。例如:

 <?xml version="1.0" encoding="UTF-8"?>
 <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
  <commands>
    <command idMso="Permissions"  getEnabled="OnGetEnabled" />
  </commands>
 </customUI>

您可以重新利用内置的功能区控件,有关更多信息,请参见Temporarily Repurpose Commands on the Office Fluent Ribbon

VSTO提供了两种自定义Fluent UI的方法:

不幸的是,UI设计器不支持Fluent UI的所有功能。因此,您需要坚持上述文章之一中描述的原始XML标记。