为xml功能区按钮添加两个图像,用于大尺寸和普通尺寸

时间:2013-03-13 22:07:42

标签: c# xml vsto ribbon

我在Ribbon XML上有一个带有这样的自定义图像的按钮

<group id="MyGroup">
<button id="buttonTest" size="large" getImage="GetCustomImage" label="Test"/>
</group>
public Bitmap GetCustomImage(Office.IRibbonControl control)
{
    return Resources.test; // test.png
}

但是当用户在快速访问工具栏上添加此按钮时,按钮将变为正常大小。 Office调整大小图标,此后它看起来很难看。 如何为大(32x32)和普通(16x16)尺寸的按钮添加两个图像?

1 个答案:

答案 0 :(得分:2)

当按钮位于快速访问工具栏上时,是否会调用GetCustomImage方法? 如果是这样,那么做你要求的事情应该不会太难。您只需要知道按钮是在功能区还是Q.A.T。

BUT

如果有效,我认为不可能按照您的要求行事。每个按钮只能有1个图像和1个与之关联的尺寸。

你可能做的是有2个按钮和切换,其中一个是可见的。用户可以确保将buttonNormal添加到快速访问工具栏。我的意思是,这很难看,我不知道我是否会这样做。但如果丑陋的图标真的困扰你,那就继续吧。

<group id="MyGroup">
    <button id="buttonLarge" size="large" image="largeImage" label="Test" getVisible="GetIsLargeButtonVisible"/>
    <button id="buttonNormal" size="normal" image="normalImage" label="Test" getVisible="GetIsNormalButtonVisible"/>
</group>

然后在GetIsNormalButtonVisibleGetIsLargeButtonVisible方法中,您可以隐藏并显示您想要的任何一个。