【问题标题】:VSTO XML ribbon - is there a single instance of the ribbon?VSTO XML 功能区 - 是否有单个功能区实例?
【发布时间】:2016-11-30 18:12:00
【问题描述】:

我正在尝试了解我在自定义 Outlook VSTO 功能区中遇到的一些行为,我面临的主要困难与似乎是在同时打开的检查器之间共享的功能区的单个实例有关windows(我的自定义功能区显示为功能区类型“Microsoft.Outlook.Mail.Compose”)。是否确实有一个功能区实例在可能的多个检查窗口实例之间共享?如果是这样,您如何处理不同检查器窗口中的并发不同状态?

【问题讨论】:

    标签: vsto outlook-addin office-addins


    【解决方案1】:

    您要做的是创建一个自定义功能区,然后从每个视图中处理您需要的功能区中的项目。这是一个与您的问题有些相关的问题:

    https://social.msdn.microsoft.com/Forums/vstudio/en-US/57dc20bb-9d29-4d3e-84d2-c64de0af0244/iribbonextensibilitygetcustomui?forum=vsto

    在您的情况下,您希望保持状态,即使用相同的范例。每当您专注于撰写邮件时,请确保功能区的状态与撰写邮件的状态相匹配。

    通过这样做,一次性加载功能区 XML 不再是问题,因为您将所有项目都放在一个功能区中,并且能够操纵每封已撰写邮件的状态。

    【讨论】:

    • 感谢您确认无论有多少个检查器窗口同时显示它,我的自定义功能区的单个实例都会被创建。困扰我的是,在我看来,功能区的单个 shared 实例会导致重复执行以前已经执行的逻辑:例如,当从一个撰写窗口切换到另一个功能区状态时,会重置为反映邮件的底层状态。这不能以某种方式避免吗?
    猜你喜欢
    • 1970-01-01
    • 2013-06-17
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    • 1970-01-01
    • 2011-10-12
    • 1970-01-01
    • 2019-07-06
    相关资源
    最近更新 更多