VSTO Addin相同的按钮多个选项卡

时间:2018-01-20 05:23:14

标签: vsto outlook-addin add-in office-addins

使用Outlook的VSTO加载项。如果我只想让相同的按钮显示在两个不同的选项卡/视图下(TabCalendar和TabMail),是否有任何方法可以避免重复整个功能区XML代码 我的功能区代码如下:

$this->db->select('dispatch_lists_rates.*, dispatch_lists.customer_id, 
                    dispatch_lists.date_of_dispatch');

$this->db->from('dispatch_lists_rates');

$this->db->join('dispatch_lists', 'dispatch_lists_rates.dispatch_list_id = 
                dispatch_lists.id');

$this->db->where(array('dispatch_lists.date_of_dispatch' >= $start_date, 
                        'dispatch_lists.date_of_dispatch' <= $end_date));

$query = $this->db->get();

我喜欢的是:

<ribbon>
  <tabs>
    <tab idMso="TabMail">
      <button id="ID1" label="XxX" onAction="OnTextButton" image="myImg1" size="large" getVisible="GetVisible"/>
      <button id="ID2" label="XxX" onAction="OnTextButton" image="myImg2" size="large" getVisible="GetVisible"/>
      ...
    </tab>
    <tab idMso="TabCalendar">
      <button id="SameThanID1" label="XxX" onAction="OnTextButton" image="myImg1" size="large" getVisible="GetVisible"/>
      <button id="SameThanID2" label="XxX" onAction="OnTextButton" image="myImg2" size="large" getVisible="GetVisible"/>
     ...
    </tab>
  </tabs>
</ribon>

这真的很烦人,因为按钮需要是唯一的,因此我必须复制相同的逻辑。我读到了post,这并不令人鼓舞。有什么选择吗?

1 个答案:

答案 0 :(得分:0)

Fluent UI(又名Ribbon UI)不允许组合内置选项卡标记并将功能区XML放在一个位置。您需要分别为每个内置选项卡指定(重复)标记。在以下系列文章中阅读有关功能区UI的更多信息: