wpf - WPF - 在绑定触发期间 ImageSource 更改后图像失真
问题描述
所以我有一个图像,它有一个 Source 属性。ImageSource
该属性使用 Binding从 ViewModel获取属性。然而,绑定正在使用,并且转换器根据鼠标是否在控件上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 技巧,还是我在做的?
解决方案
Stretch="Uniform"
正如 PJRobot 所建议的那样确实有效。这并不理想,因为我的图像大小不同,数据模板将对此进行解释,但至少图像大小保持不变。
谢谢。
推荐阅读
- android - 执行此操作的正确方法是什么(在单击 Recyclerview 行时,我想将该行添加到 recyclerview 中的最后一个位置)?
- monodevelop - “GenerateDepsFile”任务意外失败
- javascript - Js Grid Pager 不加载
- c# - 字符串中每个字母后的换行符
- javascript - 获取上传图片的位置
- java - 如何确保用户不能在同一台计算机上做某事
- sql - 将两列数据与第二列的第一个字符组合成一列,留下空值
- reactjs - React - 如何从子功能组件执行功能
- python - 从其他 Python 文件调用函数时的问题
- three.js - glTF 2.0 视频纹理支持