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

anz*_*ood 5 c# xml vsto ribbon

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

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

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

Chr*_*yva 2

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

如果这不起作用,我认为不可能做你所要求的事情。每个按钮只能有 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>
Run Code Online (Sandbox Code Playgroud)

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