如何在没有 "Enviroment" 的情况下获取 windows 通用应用程序中某些特殊文件夹的路径

How to get a path to some special folders in windows universal apps without "Enviroment"

通常,要将一些文件放到不同设备上的本地目录中(例如某些 phone 上的 mydocuments),我们可以使用类似 environment.getfolderpath(environment.specialfolder.mydocuments) 的方式获取该目录。但如果我是对的,这在 windows 通用应用程序中不起作用(可能是因为 x-box),环境只得到 .GetEnviromentVariable(s)

所以问题是 - 我们如何在任何 windows-设备 上获取到某个本地目录的路径(像 mydocuments、applicationdata 或类似的文件夹,而不是临时或当前目录或应用程序文件夹)?

请在 Windows.Storage 命名空间中使用 KnownFolders class。 例如,要访问 PictureLibrary 使用:

StorageFolder storageFolder = KnownFolders.PicturesLibrary;

StorageFolder 依次有一个只读 属性 Path。你应该重新考虑使用新的 API.

操作文件的整个概念

例如,要创建图像文件,您可以使用以下内容:

StorageFile file =
    await storageFolder.CreateFileAsync("sample.png",
        CreationCollisionOption.ReplaceExisting);

您可以在 MSDN 上找到更多示例:KnownFolders class