我在 WPF 应用程序中使用 Microsoft.Windows.Controls.Ribbon,它会将 RibbonCommand 图像拉伸(stretch)得比预期更大。图片插入如下:
<r:RibbonApplicationMenu.Command>
<r:RibbonCommand LargeImageSource="/Resources/Images/FSRibbon.png" />
</r:RibbonApplicationMenu.Command>
这里是 FSRibbon.png: 它是 32x28 32 位 png。我还尝试过 32 x 32,以及周围有空填充的 48 x 48。无论我做什么,功能区控件都会显示如下:
正如您所看到的,它被放大了,就好像它被拉伸(stretch)到 48x48 Canvas 上一样。但如果我提供 48x48 的图像,它也会同样放大。 RibbonCommand 不提供任何控制图像拉伸(stretch)的方法,因此没有像 <Image/>
这样的东西。对象的Stretch="None"
属性由我来设置。这是怎么回事?
尝试
我已经尝试过这个:
最佳答案
This这个问题让我意识到 WPF 在适应不同的图像分辨率(DPI/每英寸像素等)方面并不是那么神奇。前面提到的问题说Windows标准是96 DPI,我猜这是像素/英寸的同义词。我上面上传的图像恰好是 72 像素/英寸。
我尝试使用 GIMP(开源图像编辑器)中的“缩放图像”将其转换为 96,神奇的是,它开始得到正确处理。
-->
就好像我们这些卑微的程序员应该知道这些垃圾一样:p
关于c# - RibbonControl 正在拉伸(stretch)图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8345571/