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