如何将图像路径保存到LiveTile的WP8本地文件夹WP7API(IsolatedStorageFile)。旧的工作方法下面介绍如何使用IsolatedStorageFile方法成功将图像保存到/Shared/ShellContent文件夹(保存图像时注意/Shared/ShellContent/前缀,更新动态磁贴时注意isostore:/Shared/ShellContent/前缀。使用(IsolatedStorageFilemyIsolatedStorage=IsolatedStorageFile.GetUserStoreForApplication()){if(myIsolatedStorage.FileExists("/Shared/ShellContent/LiveTileImagePath.jpg")){myIsolatedStorage.DeleteFile("/Shared/ShellContent/LiveTileImagePath.jpg");}IsolatedStorageFileStreamcopyFileStream=myIsolatedStorage.CreateFile("/Shared/ShellContent/LiveTileImagePath.jpg");wb.SaveJpeg(copyFileStream,wb.PixelWidth,wb.PixelHeight,0,100);copyFileStream.Close();//UpdateTileShellTiletile=ShellTile.ActiveTiles.First();if(tile!=null){FlipTileDatatileData=newFlipTileData(){Title="title",BackTitle="backtitle",BackContent="",WideBackContent="",SmallBackgroundImage=newUri("/Images/SmallIconBW.png",UriKind.RelativeOrAbsolute),BackgroundImage=newUri("/Images/MediumKiss336.png",UriKind.RelativeOrAbsolute),BackBackgroundImage=newUri("isostore:/Shared/ShellContent/LiveTileImagePath.jpg",UriKind.RelativeOrAbsolute),WideBackgroundImage=newUri("/Images/MediumKiss336.png",UriKind.RelativeOrAbsolute),WideBackgroundImage=newUri("isostore:/Shared/ShellContent/LiveTileImagePath.jpg",UriKind.RelativeOrAbsolute)};tile.Update(tileData);}}待解决的问题我在使用新方法保存图像时遇到问题我似乎无法找到正确的图像路径来更新磁贴。这是我保存图像的新方法(注意:fileStream是一个MemoryStream,其中包含我在该方法前面的WriteableBitmap中生成的jpeg图像。在应用程序中存储和使用是可以的,但不能在Shared文件夹中存储和使用)fileStream.Seek(0,SeekOrigin.Begin);使用(StreamsharedFolderStream=awaitliveTileImageFile.OpenStreamForWriteAsync()){awaitfileStream.CopyToAsync(sharedFolderStream);}ShellTiletile=ShellTile.ActiveTiles.First();if(tile!=null){FlipTileDatatilenewFlipTileData(){Title="KissDictionary",BackTitle="name",BackContent="",WideBackContent="",SmallBackgroundImage=newUri("/Images/SmallIconBW.png",UriKind.RelativeOrAbsolute),BackgroundImage=newUri("/Images/MediumKiss336.png",UriKind.RelativeOrAbsolute),BackBackgroundImage=newUri("isostore:/Shared/ShellContent/LiveTileImagePath.jpg",UriKind.RelativeOrAbsolute),WideBackgroundImage=newUri("/Images/MediumKiss336.png",UriKind.RelativeOrAbsolute),WideBackBackgroundImage=newUri("isostore:/Shared/ShellContent/LiveTileImagePath.jpg",UriKind.RelativeOrAbsolute)};tile.Update(tileData);}问题是我无法将图像保存到Shared/ShellFolder,我收到此异常消息:文件名、目录名或卷标语法不正确(HRESULTexception:0x8007007B)如果您已为您的应用程序更新LiveTile更新,请指出您用于保存的路径以及分配给LiveTile图像的文件路径。更新:Rob的回答修复了异常并允许我保存到文件夹中。我对磁贴更新中使用的文件路径进行了更改(感谢ScottLovegrove的建议):而不是旧方法:BackBackgroundImage=newUri("isostore:/Shared/ShellContent/LiveTileImagePath.jpg",UriKind.RelativeOrAbsolute)我成功地使用了这个BackBackgroundImage=newUri("isostore:shared\shellcontent\LiveTileImagePath.jpg",UriKind.RelativeOrAbsolute)这很丑陋,但它有效......你需要深入到每个孤立的存储目录。您不能只输入完整路径(那太容易了)。因此,而不是:StorageFileliveTileImageFile=awaitlocalFolder.CreateFileAsync("/Shared/ShellContent/LiveTileImagePath.jpg",CreationCollisionOption.ReplaceExisting);你应该有:varsharedFolder=awaitlocalFolder.GetFolderAsync("Shared");varshellContentFolder=await共享文件夹。GetFolderAsync("ShellContent");varliveTileImageFile=awaitshellContentFolder.CreateFileAsync("LiveTileImagePath.jpg",CreationCollisionOption.ReplaceExisting);希望有所帮助。以上就是C#学习教程:如何将图片路径保存到LiveTile的WP8Local文件夹。如果对你有用,需要了解更多C#学习教程,希望大家多加关注——本文来自网络合集,不代表立场,如涉及侵权,请点击有权联系管理员删除。如需转载请注明出处:
