所以我有一个Image,它具有Source属性。该属性正在使用Binding从ViewModel获取ImageSource
属性。但是,绑定正在使用IValueConverter
,并且转换器将根据鼠标是否位于控件上方来返回不同的ImageSource
。由于屏幕具有较高的DPI,并且由于控件的外观,因此必须将某些属性设置为Image:
<Image Source="{Binding Filter.IsEnabled, Converter={StaticResource IsEnabledToImageSourceConverter}}"
UseLayoutRounding="False"
Stretch="None"
Width="45"
Height="45"
Cursor="Hand" />
代码工作正常。将鼠标悬停在控件上时,图像会更改,但不会调整。
没有悬停-图片尺寸合适:
悬停时-图片变形:
图像是按钮的内容,按钮具有自定义ControlTemplate
以摆脱其图形。未设置VisualStateGroups
。这是其他人都不知道的WPF技巧,还是我所缺少的?
答案 0 :(得分:0)
Stretch="Uniform"
PJRobot建议的实际上有效。这不是理想的选择,因为我的图像大小不同,并且数据模板会考虑到这一点,但是至少图像大小保持不变。
谢谢。