2013-08-23 229 views
0

嗨我正在开发一个锁屏应用程序,我正在使用图像列表框。选择图像后,当我点击一个按钮来设置锁屏,它应该更新。但它更新bot。这里是我的代码LockScreen for windows phone 8

private async void ApplicationBarIconButton_Click(object sender, EventArgs e) 
    { 
     MediaLibrary mediaLibrary = new MediaLibrary(); 
     //ImageSource im = image1.Source; 
     BitmapImage bitmap = new BitmapImage(); 
     bitmap.SetSource(mediaLibrary.Pictures[imageList.SelectedIndex].GetImage()); 

     String tempJPEG = "MyWallpaper1.jpg"; 

     using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication()) 
     { 
      if (myIsolatedStorage.FileExists(tempJPEG)) 
      { 
       myIsolatedStorage.DeleteFile(tempJPEG); 
      } 

      IsolatedStorageFileStream fileStream = myIsolatedStorage.CreateFile(tempJPEG); 

      StreamResourceInfo sri = null; 
      Uri uri = new Uri(tempJPEG, UriKind.Relative); 
      sri = Application.GetResourceStream(uri); 

      WriteableBitmap wb = new WriteableBitmap(bitmap); 

      Extensions.SaveJpeg(wb, fileStream, wb.PixelWidth, wb.PixelHeight, 0, 90); 

      fileStream.Close(); 
     } 

     LockScreenChange(tempJPEG); 

    } 

    private async void LockScreenChange(string filePathOfTheImage) 
    { 
     if (!LockScreenManager.IsProvidedByCurrentApplication) 
     { 
      await LockScreenManager.RequestAccessAsync(); 
     } 

     if (LockScreenManager.IsProvidedByCurrentApplication) 
     { 
      var schema = "ms-appdata:///Local/"; 
      var uri = new Uri(schema + filePathOfTheImage, UriKind.Absolute); 

      LockScreen.SetImageUri(uri); 
      var currentImage = LockScreen.GetImageUri(); 
      MessageBox.Show("Success", "LockScreen changed", MessageBoxButton.OK); 
     } 
     else 
     { 
      MessageBox.Show("Background cant be changed. Please check your permissions to this application."); 
     } 
    } 

实际上第一时间时该应用被启动并且当我点击设置按钮,当前选择的图像被设定为锁屏,在此之后,当我选择另一图像,它显示锁屏变化,success.No错误,没有例外,我不知道问题在哪里。 请帮助........

+0

一个转换异常解决意味着你使用了错误的类型。查看您使用的每种方法的返回类型,并确保它与方法参数需要的匹配。 –

回答

0

它得到了通过更改临时文件名以原文件名即字符串tempJpeg