ImageProperties.SaveImagePropertiesAsync()不保存更改

时间:2017-04-25 18:20:21

标签: c# uwp windows-10-universal windows-10-mobile

我正在尝试将某些属性保存到手机上的Windows 10 UWP应用程序中的图像文件中。

var fileProperties = await file.Properties.GetImagePropertiesAsync();

fileProperties.Rating = 25;
fileProperties.Title = "Title";
fileProperties.DateTaken = DateTime.Now;

await file.Properties.SavePropertiesAsync();

由于某种原因,不保存属性。

预先创建文件:

var file = await _sourceFolder.CreateFileAsync(pathToFile, CreationCollisionOption.ReplaceExisting);
await bitmap.SaveToStorageFile(file);

其中位图的类型为WriteableBitmap。 图像保存到文件中,但属性不是。

有谁知道我做得不对?没有例外,没有关于它为什么没有成功的消息。

1 个答案:

答案 0 :(得分:1)

这里的问题是StorageFile.Properties.SavePropertiesAsync,它获取StorageItemContentProperties。它使用原始数据保存到文件中。

您应该可以使用ImageProperties.SavePropertiesAsync方法。它使用新的ImageProperties数据保存到文件中。

例如:

var fileProperties = await file.Properties.GetImagePropertiesAsync();
fileProperties.Rating = 25;
fileProperties.Title = "title";
fileProperties.DateTaken = DateTime.Now;
await fileProperties.SavePropertiesAsync();