Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将功能区(选项卡)添加到联系人表单outlook外接程序_C#_.net_Vsto_Outlook Addin - Fatal编程技术网

C# 将功能区(选项卡)添加到联系人表单outlook外接程序

C# 将功能区(选项卡)添加到联系人表单outlook外接程序,c#,.net,vsto,outlook-addin,C#,.net,Vsto,Outlook Addin,我正在尝试在C#中的outlook联系人中添加功能区/选项卡。我添加了一个功能区,并在其xml中编写了以下代码 <tab idMso="TabAddIns" label="mySoftwareTab"> <group id="ContentGroup" label="Appointments"> <button id="GetAppointment" label="Get Appointments" screentip="Appointment"

我正在尝试在C#中的outlook联系人中添加功能区/选项卡。我添加了一个功能区,并在其xml中编写了以下代码

<tab idMso="TabAddIns" label="mySoftwareTab">
    <group id="ContentGroup" label="Appointments">
      <button id="GetAppointment" label="Get Appointments" screentip="Appointment" imageMso="ViewAppointmentInCalendar" onAction="GetAppointmentPressed" size="large"
              supertip="Get all appointments."/>
    </group>
  </tab>

这将在每个屏幕(包括主区域)中创建选项卡(如图所示,mySoftwareTab位于位置A和B)

但若我将idMso更改为TabContact,它只会在contact上创建一个按钮(图中的C位置)

我只希望在outlook联系人页面上创建选项卡(在图像中的位置B)。
如何执行此操作?

添加一个getVisible回调方法,并根据希望显示的inspector窗口对该方法进行选通

<tab idMso="TabAddIns" label="mySoftwareTab"
     getVisible="myTab_GetVisible">

添加一个getVisible回调方法,并根据希望它出现的inspector窗口对该方法进行选通

<tab idMso="TabAddIns" label="mySoftwareTab"
     getVisible="myTab_GetVisible">

if(control.Context是Outlook.ContactItem)
此条件永远不会为真。位更改后,以下是工作代码<代码>公共bool myTab_GetVisible(Office.IRibbonControl控件){if(control.Context是Outlook.Inspector){Outlook.Inspector oInsp=control.Context作为Outlook.Inspector;if(oInsp.CurrentItem是Outlook.ContactItem){return true;}else{return false;}}}else{return false;}}}
if(control.Context是Outlook.ContactItem)
此条件永远不会为真。位更改后,以下是工作代码。
public bool myTab_GetVisible(Office.IRibbonControl控件){if(control.Context为Outlook.Inspector){Outlook.Inspector oInsp=control.Context为Outlook.Inspector;if(oInsp.CurrentItem是Outlook.ContactItem){return true;}else{return false;}}}else{return false;}}}