我通过ribbonXML
创建了新的outlook功能区我想展示此功能区
预约\会议窗口中的1。
从“约会”选项卡中的CalendarItems中2。,从日历视图中选择约会时
我可以在一个功能区中显示两个选项但不能一起显示。
“contextualTabs” - 显示calendarItems中的选项卡,
“TabAddins” - 根据C#代码
仅在约会\会议窗口中显示选项卡我想在这两种情况下都会显示此功能区。我该怎么做?
我的代码:
<ribbon>
<tabs>
<tab idMso="TabAddIns" label="MyTab">
<group id="group1" label="save">
<button id="btnSaveAs" onAction="btnSaveAs_Click"
imageMso="FileSave"/>
</group>
</tab>
</tabs>
<contextualTabs>
<tabSet idMso="TabSetAppointment">
<tab id="TabAppointment" label="MyTab">
<group id="MyGroup" label="save">
<button id="btnSaveAppAs" onAction="btnSaveAs_Click" label="save"
imageMso="FileSave"/>
</group>
</tab>
</tabSet>
</contextualTabs>
</ribbon>
C#:(因为仅在约会\会议窗口中显示功能区)
public string GetCustomUI(string ribbonID)
{
if(ribbonID=="Microsoft.Outlook.Appointment")
return GetResourceText("OutlookAddIn.Ribbon.xml");
if (ribbonID == "Microsoft.Outlook.MeetingRequest")
return GetResourceText("OutlookAddIn.Ribbon.xml");
return null;
}
答案 0 :(得分:0)
您似乎需要为Explorer功能区ID值返回适当的功能区XML标记。尝试调试android:exported="true"
方法并查看传递的值。
在MSDN的以下文章中阅读有关Ribbon UI(又名Fluent UI)的更多信息:
答案 1 :(得分:0)
我找到了解决方案。
我将两个选项放在两个单独的xml文件中并修复了getcustomUI
Ribbon.xml:
<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="Ribbon_Load">
<ribbon>
<tabs>
<tab idMso="TabAddIns" label="MyTab">
<group id="group1" label="save">
<button id="btnSaveAs" onAction="btnSaveAs_Click"
imageMso="FileSave"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
CalendarToolsRibbon.xml:
<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="Ribbon_Load">
<ribbon>
<contextualTabs>
<tabSet idMso="TabSetAppointment">
<tab id="TabAppointment" label="MyTab">
<group id="MyGroup" label="save">
<button id="btnSaveAppAs" onAction="btnSaveAs_Click" label="save"
imageMso="FileSave"/>
</group>
</tab>
</tabSet>
</contextualTabs>
</ribbon>
</customUI>
C#:
public string GetCustomUI(string ribbonID)
{
if (ribbonID == "Microsoft.Outlook.Appointment")
return GetResourceText("OutlookAddIn.Ribbon.xml");
if (ribbonID == "Microsoft.Outlook.MeetingRequest.Read")
return GetResourceText("OutlookAddIn.Ribbon.xml");
return GetResourceText("OutlookAddIn.CalendarToolsRibbon.xml");
}