Видимость CustomTaskPane в Outlook

У меня есть пользовательская панель задач в Outlook. Когда пользователь переключает видимость, я записываю это в объект настроек, чтобы при следующем запуске Outlook он отображался/скрывался так, как пользователь оставил его.

В каждом из следующие сценарии

  1. Пользователь щелкает X в правом верхнем углу панели задач.
  2. TaskPane.Visible устанавливается в ответ на нажатие пользователем переключателя на ленте
  3. Пользователь нажимает кнопку меню «Файл» в левом верхнем углу.

Первые два способа пользователь явно намеревался скрыть панель задач. В третьем случае пользователь просто пытался перейти к экрану меню (возможно, на пути к кнопке «Выход»).

Вопрос

Можно ли как-то определить, что событие возникло из-за меню «Файл»? Есть ли способ программно определить, открыто ли в данный момент меню «Файл»?

Вот что я имею в виду под экраном меню «Файл»:

Экран меню


person Josh    schedule 20.04.2015    source источник


Ответы (1)


Пользовательский интерфейс Backstage предоставляет два обратных вызова, которые можно использовать для отслеживания, когда меню «Файл» открыто и закрыто:

  • onShow — отображается представление Backstage, которое запускает процедуру обратного вызова OnShow.
  • onHide — когда представление Backstage больше не отображается.

Атрибут onShow и атрибут onHide элемента могут указывать на код, выполняющий такое действие.

<backstage onShow="OnShow"> 

См. Настройка представления Office 2010 Backstage для разработчиков для получения дополнительной информации.

person Eugene Astafiev    schedule 20.04.2015
comment
Можно ли получать события за кулисами onShow, onHide при использовании конструктора ленты? В интерфейсе Microsoft.Office.Tools.Ribbon.RibbonOfficeMenu таких событий нет. Есть ли способ их получить? - person jreichert; 06.05.2016