我添加了四张图片,默认情况下我有背景图片。我用一个按钮随机改变背景。这是全景页面,我只想让我的应用程序保存最后一个状态(即记住最后一个背景图像),如果我的应用程序被激活,那么最后一个图像应该是默认的背景图像。由于我已经在我的应用程序中添加了一些图像,所以我认为这不需要隔离存储。我需要的是,如果当前背景图像(imguri)是 bg1.jpg ,如果我退出应用程序并且如果我重新启动它,那么默认背景图像应该是 bg1.jpg 。需要帮助!
private void BackgroundBrowser_Click(object sender, RoutedEventArgs e)
{
string imguri = "";
click_count = click_count % 5;
switch (click_count)
{
case 0: imguri = "Image/bg.jpg"; break;
case 1: imguri = "Image/bg1.jpg"; break;
case 2: imguri = "Image/bg3.jpg"; break;
case 3: imguri = "Image/bg2.jpg"; break;
case 4: imguri = ""; break;
}
click_count++;
var app = Application.Current as App;
app.appBmp = new BitmapImage(new Uri(imguri, UriKind.Relative));
ImageBrush imageBrush = new ImageBrush();
imageBrush.Stretch = Stretch.UniformToFill;
imageBrush.Opacity = 0.7;
imageBrush.ImageSource = app.appBmp;
this.LayoutRoot.Background = imageBrush;
app.appbrush = imageBrush;
app.backchanged = true;
}
答案 0 :(得分:1)
您可以使用Application or User Settings。转到项目属性,然后单击“设置”选项卡。然后使用String作为类型创建一个设置名称LastImagePath:
现在就在这一行之前:
var app = Application.Current as App;
添加此项以保存LastImagePath设置的路径:
Properties.Settings.Default.LastImagePath = imguri;
Properties.Settings.Default.Save();
要加载最后一张图片,您可以在任意位置加载设置,如下所示:
if (!(Properties.Settings.Default.LastImagePath == null))
imgpath = Properties.Settings.Default.LastImagePath;
答案 1 :(得分:0)
当您的应用程序退出时,您需要将最后一个图像名称保存在文件中,并从文件中读取图像名称,并在应用程序重新启动时加载它。我认为这是最简单的解决方案。
答案 2 :(得分:0)
您也可以使用System.IO.IsolatedStorage.IsolatedStorageSettings.ApplicationSettings
与DelegateX所示的方式类似。请注意,无论您如何“保存”自己的设置, 都会存储在隔离的存储空间中。它只是很好地包装和隐藏为Properties / ApplicationSettings / Session等proeprties或类名,但实际上数据将落在ISO上,并且当您从设备卸载应用程序时它将消失。
答案 3 :(得分:0)