0

我正在使用 WPF-Xaml 我制作了界面,其中用户选择图像并将其保存在数据库中,然后将此保存的图像分配给按钮ImageSource,类似于所有其他导航面板项目等。

问题是:我每次都必须从数据库中检索图像,是否还有其他可能在不连接到数据库的情况下保存图像我的意思是Application Settings

我没有使用 MVVM

4

1 回答 1

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;
      }
   }
}
于 2013-08-30T13:02:24.957 回答