3

我正在开发 vsto,我想在功能区上隐藏一些控件特别是我需要隐藏菜单 - 在主页选项卡中的样式组上更改样式。我试图通过xml做到这一点:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="Ribbon_Load">
  <ribbon>
    <tabs>
      <tab idMso="TabHome">
        <group idMso="GroupStyles">
          <menu idMso="ChangeStylesMenu" visible="0"/>
        </group>
      </tab>

    </tabs>
  </ribbon>
</customUI>

但菜单仍然可见,看起来我无法获得此控件。我的问题是任何人都可以得到这个控制?通过xml还是通过代码?顺便说一句,以编程方式获取功能区控件的方法是什么。我知道有 RibbonGroup 类,但我不知道如何加载它(如何通过 id 获取它)如果我能做到,我会得到属于它的所有项目。有任何想法吗?

4

1 回答 1

3

这是在 C# 中执行此操作的一种方法:

// disable all controls in ribbon
foreach (RibbonGroup group in Globals.Ribbons.MyRibbon.MyTab.Groups)
{
    foreach (RibbonControl control in group.Items)
    {
        control.Enabled = false;
    }
}

请注意,这MyTab是功能区中选项卡的名称 (controlID)。

于 2013-10-06T13:03:58.060 回答