Globals.Ribbons пусто при запуске надстройки Outlook? - PullRequest
3 голосов
/ 04 августа 2010

Я создаю плагин для Outlook 2010 с использованием VSTO 2010 и .NET 4. Я использую метод XML для разработки ленты, потому что мне нужны перехватчики контекстного меню.К сожалению, хотя лента создана до того, как обработчик события Startup надстройки запущен, я не могу получить доступ к ленте, используя Globals.Ribbons.MyRibbon в обработчике!Я добавил следующее в мой код Ribbon.cs:

partial class ThisRibbonCollection : Microsoft.Office.Tools.Ribbon.RibbonReadOnlyCollection
{
  internal MyRibbon MyRibbon
  {
    get { return this.GetRibbon<MyRibbon>(); }
  }
}

Но похоже, что RibbonReadOnlyCollection пуст , когда я пытаюсь получить к нему доступ из обработчика события запуска.

С другой стороны, если я использую конструктор, я могу получить доступ к коллекции без проблем.Как добавить мою новую ленту в коллекцию?Я не вижу настраиваемых методов или экземпляров коллекции лент, которые можно настроить.

Ответы [ 2 ]

1 голос
/ 31 августа 2016

Ленты, созданные с использованием XML, недоступны с помощью Globals.Ribbons.См. этот ответ.

0 голосов
/ 17 декабря 2010

ThisAddIn

public Ribbon myRibbon;
protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
            {
                Ribbon appointmentRibbon = new Ribbon();
                myRibbon = appointmentRibbon;  // save to local variable

                IRibbonExtensibility ribbonExtensibility = appointmentRibbon;
                return ribbonExtensibility;
            }
...