我有一个WPF程序,用于处理画布上的图像。
我正处于尝试使用序列化来保存程序内容并在稍后阶段重新加载的阶段。
所以当我将任何图像插入控件时我使用的是绝对路径值,我明白这对于我希望保存程序状态并重新加载它的程序来说是一个坏主意。以后。
那么在这种情况下采取的最佳行动是什么。
我是否在我的WPF项目中创建一个文件夹,例如名为Images,然后将我在程序中使用的所有图像复制到此文件夹,然后指向此路径?
或者我在这里完全错了?
答案 0 :(得分:1)
如果要序列化应用程序的状态数据,通常会在一个或多个所谓的系统特殊文件夹中创建一个文件夹,您可以通过调用Environment.GetFolderPath
来获取该文件夹。
例如,您可以在SpecialFolder.CommonApplicationData
枚举(在Windows 7系统上为C:\ProgramData
)指定的特殊文件夹下面的文件夹中存储具有应用程序范围的数据(对所有用户都相同)。
特定于当前漫游用户(在网络上的多台计算机上工作)的数据将存储在SpecialFolder.ApplicationData
下面的文件夹中。非漫游用户也有SpecialFolder.LocalApplicationData
。
您可以查看Environment.SpecialFolder
枚举以获取概述。
答案 1 :(得分:0)
根据我自己的经验,创建一个文件夹并将图像保存在那里。从长远来看,它只会让您的生活更轻松,并且可以轻松查看应用程序的资源位置。