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

5

我在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个回答

2
当在快速访问工具栏上点击按钮时,GetCustomImage方法是否被调用?如果是,那么你所要求的并不难实现。你只需要知道按钮是在功能区还是快速访问工具栏中。
但是,如果这样不起作用,我认为你所要求的是不可能实现的。每个按钮只能有一个与之关联的图像和大小。
你可以尝试使用两个按钮,并切换哪一个可见。用户可以确保将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 方法中,您可以隐藏或显示任何一个按钮。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接