idMso встроенной вкладки, показанной на скриншоте, - TabReadMessage
. Вам просто нужно вернуть соответствующую разметку XML ленты в обратном вызове GetCustomUI
.
Приложения Microsoft Office вызывают метод GetCustomUI для получения строки XML, определяющей пользовательский интерфейс вашей настраиваемой ленты.
public class Connect : Object, Extensibility.IDTExtensibility2, IRibbonExtensibility
...
public string GetCustomUI(string RibbonID)
{
StreamReader customUIReader = new System.IO.StreamReader("C:\\RibbonXSampleCS\\customUI.xml");
string customUIData = customUIReader.ReadToEnd();
return customUIData;
}
Обратите внимание, иногда вам нужно возвращать разметку XML для различных значений ribbonID
, передаваемых в качестве аргумента. В этом случае вы получите обратный вызов onLoad
(также для инспекторов).
public string GetCustomUI(string ribbonID)
{
string ribbonXML = String.Empty;
if (ribbonID == "Microsoft.Outlook.Mail.Read")
{
ribbonXML = GetResourceText("Trin_RibbonOutlookBasic.Ribbon1.xml");
}
return ribbonXML;
}
См. Настройка ленты для Outlook для получения дополнительной информации.
Подробнее о пользовательском интерфейсе Fluent (также известном как Ribbon UI) можно прочитать в следующих статьях MSDN:
Помните, что по умолчанию, если надстройка VSTO пытается манипулировать пользовательским интерфейсом Microsoft Office (UI) и не работает, сообщение об ошибке не отображается. Однако вы можете настроить приложения Microsoft Office для отображения сообщений об ошибках, связанных с пользовательским интерфейсом. Вы можете использовать эти сообщения, чтобы определить, почему пользовательская лента не отображается или почему лента появляется, но элементы управления не отображаются. См. Как: Показать ошибки интерфейса пользователя надстройки для получения дополнительной информации.