根据 http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.storagefile.datecreated.aspx , StorageFile.DateCreated 是只读的。

在桌面上,我可以这样做:

IStorageFile file = ...
DateTime date = ...
BasicProperties props = await file.GetBasicPropertiesAsync();
var changes = new List<KeyValuePair<string,object>>();
changes.Add(new KeyValuePair<string, object>("System.DateCreated", date));
await props.SavePropertiesAsync(changes);

但在 WP8 上,BasicProperties.SavePropertiesAsync 没有实现。

有没有其他方法可以做到这一点?

最佳答案

一种方法是获取创建的日期,然后使用ApplicationData.LocalSettings存储文件路径和创建的日期。风险是您必须确保每次创建文件时都更新该值。

否则,您可以使用moveAndReplaceAsync移动文件并重置创建日期。

您也可以将值存储在自己的辅助文件或数据库中,但这将在读取的每个文件上需要额外的IO。 (您必须打开两个文件,以获取文件内容和“创建日期”)。

10-08 13:28