如何将一个图像分配给按钮的所有图像源

时间:2013-08-30 12:58:29

标签: c# .net wpf

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

问题是:我每次都要从数据库中检索图像,是否还有其他可能保存图像而没有连接数据库我的意思是Application Settings

我没有使用MVVM

1 个答案:

答案 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;
      }
   }
}