我正在使用WPF-Xaml我创建的界面,用户选择图像并将其保存在数据库中,然后将保存的图像分配给按钮ImageSource
,类似于所有其他导航面板项目等。
问题是:我每次都要从数据库中检索图像,是否还有其他可能保存图像而没有连接数据库我的意思是Application Settings
?
我没有使用MVVM
答案 0 :(得分:0)
在视图模型中创建一个属性来保存此图像:
public class ViewModel{
public ImageSource SharedImage{get;set;}
}
然后将需要显示此图像的控件绑定到此属性。这样,图像就会被设置一次,并由需要访问它的其他控件使用我的时间。
修改强> 如果要在应用程序首次使用映像时在文件系统中本地缓存文件,可以执行以下操作:
public class ViewModel{
private ImageSource _sharedImage;
public ImageSource SharedImage{
get{
if(_sharedImage== null){
// Go load the image from somewhere
}
return _sharedImage;
}
set{
if(_sharedImage == null){
// Store the image contained in value into your local cache
}
_sharedImage = value;
}
}
}