根据 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。 (您必须打开两个文件,以获取文件内容和“创建日期”)。