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)尺寸的按钮添加两个图像?
当按钮位于快速访问工具栏上时,是否会调用 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)
然后在GetIsNormalButtonVisible和GetIsLargeButtonVisible方法中,您可以隐藏和显示您想要的任何一个。