我正在使用 WPF-Xaml 我制作了界面,其中用户选择图像并将其保存在数据库中,然后将此保存的图像分配给按钮ImageSource
,类似于所有其他导航面板项目等。
问题是:我每次都必须从数据库中检索图像,是否还有其他可能在不连接到数据库的情况下保存图像我的意思是Application Settings
?
我没有使用 MVVM
在您的视图模型中创建一个将保存此图像的属性:
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;
}
}
}