我想回调里面拿到图片路径,然后拼接成另一个图片路径,我这里该怎么办?有点不理解这个验证回调。如果换成string类型,image控件绑定的时候不现实图片。
avalonia ui 自定义属性验证
我想回调里面拿到图片路径,然后拼接成另一个图片路径,我这里该怎么办?有点不理解这个验证回调。如果换成string类型,image控件绑定的时候不现实图片。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 北海屿鹿 2023-05-23 15:05关注
在Avalonia UI中,自定义属性验证可以使用ValidationErrors类来实现。当控件的值发生变化时,可以在ValidationErrors类的回调函数中进行验证,并返回一个包含错误信息的列表。如果验证通过,则返回一个空列表。
可以在ValidationErrors类的回调函数中获取图片路径,并拼接成另一个图片路径public class MyViewModel : ViewModelBase, IDataErrorInfo { private string _imagePath; public string ImagePath { get { return _imagePath; } set { _imagePath = value; RaisePropertyChanged(nameof(ImagePath)); } } public string this[string columnName] { get { switch (columnName) { case nameof(ImagePath): var errors = new List<string>(); if (string.IsNullOrEmpty(ImagePath)) { errors.Add("Image path is required."); } else { // 拼接另一个图片路径 var anotherImagePath = ImagePath + "_another"; // 验证图片路径是否存在 if (!File.Exists(anotherImagePath)) { errors.Add("Another image path does not exist."); } } return string.Join(Environment.NewLine, errors); default: return string.Empty; } } } public string Error => string.Empty; }
ImagePath属性绑定到了一个图片控件上,当图片路径发生变化时,会触发ValidationErrors类的回调函数。在回调函数中,首先将图片路径拼接成另一个图片路径,然后验证另一个图片路径是否存在,如果不存在,则返回一个包含错误信息的列表
解决 无用评论 打赏 举报
悬赏问题
- ¥15 划分vlan后,链路不通了?
- ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
- ¥15 个人网站被恶意大量访问,怎么办
- ¥15 Vue3 大型图片数据拖动排序
- ¥15 Centos / PETGEM
- ¥15 划分vlan后不通了
- ¥20 用雷电模拟器安装百达屋apk一直闪退
- ¥15 算能科技20240506咨询(拒绝大模型回答)
- ¥15 自适应 AR 模型 参数估计Matlab程序
- ¥100 角动量包络面如何用MATLAB绘制