VSTO Addin отключить встроенную кнопку внешнего вида на встречу (повторяющийся) - PullRequest
0 голосов
/ 28 сентября 2019

Я разрабатываю надстройку для Outlook (VSTO, C #). Я ищу пошаговое руководство по отключению встроенной кнопки OUtlook, которая преобразует встречу в повторяющуюся встречу.Я уже много читал о бегущих лентах, как здесь

Но я просто не в состоянии применить это в своих целях:

1.) Я реализовал в своем классе Addin

public partial class ThisAddIn : Office.IRibbonExtensibility

...

 string Office.IRibbonExtensibility.GetCustomUI(string RibbonID)
        {

            throw new NotImplementedException();
        }

Я установил точку останова на Исключении.Но запуск надстройки (в отладчике) никогда не прекращался на этом этапе.

2.) Я не уверен, как я мог это сделать с Outlook.Там написано, что в Outlook несколько файлов XML (по одному на инспектора?)

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

Я знаю, что приведенные выше ссылки содержат пошаговые руководства.Но слишком много открытых вопросов к этим учебникам.

1 Ответ

0 голосов
/ 29 сентября 2019

Вы уже нашли полное руководство о том, как переназначить кнопку ленты.Просто используйте тег command с атрибутом getEnabled, определенным в вашей XML-разметке ленты.Например:

 <?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>

Вы можете переназначить встроенные элементы управления ленты, см. Временные команды перепрофилирования на Office Fluent Ribbon для получения дополнительной информации.

VSTO предоставляет два способа настройки пользовательского интерфейса Fluent:

К сожалению, дизайнер пользовательского интерфейса не поддерживает все функции пользовательского интерфейса Fluent.Итак, вам нужно придерживаться необработанной разметки XML, описанной в одной из статей, упомянутых выше.

...