我有一个处理 Canvas 上图像的 WPF 程序。
我正处于尝试使用序列化的阶段,以便能够保存我的程序内容并在稍后阶段重新加载它。
因此,当我将任何图像插入控件时,我使用的是绝对路径值,我知道这对于我想要保存程序状态并稍后重新加载的程序来说是一个坏主意.
那么在这种情况下采取的最佳行动方案是什么。
我是否在我的 WPF 项目中创建一个文件夹,例如称为图像,然后将我在程序中使用的所有图像复制到这个文件夹,然后指向这个文件夹?
还是我在这里完全走错了路线?
最佳答案
如果您正在序列化应用程序的状态数据,您通常会在一个或多个所谓的系统特殊文件夹中创建一个文件夹,您可以通过调用 Environment.GetFolderPath
来获取这些文件夹。
例如,您可以在 SpecialFolder.CommonApplicationData
枚举(在 Windows 7 系统上为 C:\ProgramData
)指定的特殊文件夹下的文件夹中存储具有应用程序范围(所有用户相同)的数据。
特定于当前漫游用户(在网络上的多台计算机上工作)的数据将存储在 SpecialFolder.ApplicationData
下的文件夹中。非漫游用户也有 SpecialFolder.LocalApplicationData
。
您可以查看 Environment.SpecialFolder
枚举以获得概述。