Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将数据保存到文件中并稍后重新加载_C#_Wpf_Save - Fatal编程技术网

C# 将数据保存到文件中并稍后重新加载

C# 将数据保存到文件中并稍后重新加载,c#,wpf,save,C#,Wpf,Save,我正在和C#一起做一个WPF项目。 有一个main窗口和一些其他窗口显示一些数据。我还有三个XML文件,可以保存列表中的数据。代码都是编写的,并且工作得非常完美 现在我的问题是,如何保存整个文件。例如,我希望能够将所有数据保存到文件中,用户可以稍后打开这些文件并将数据加载到列表中,然后开始工作,在他们之前离开应用程序的地方 有人能帮我吗?如果我正确理解了您的问题,您需要按照以下步骤进行操作: 使用特定的扩展名保存XML文件 您可以通过多种方式实现这一点:例如,您可以将实际的XML文件保存到某个位

我正在和C#一起做一个WPF项目。 有一个
main窗口和一些其他窗口显示一些数据。我还有三个XML文件,可以保存列表中的数据。代码都是编写的,并且工作得非常完美

现在我的问题是,如何保存整个文件。例如,我希望能够将所有数据保存到文件中,用户可以稍后打开这些文件并将数据加载到列表中,然后开始工作,在他们之前离开应用程序的地方


有人能帮我吗?

如果我正确理解了您的问题,您需要按照以下步骤进行操作:

  • 使用特定的扩展名保存XML文件

    您可以通过多种方式实现这一点:例如,您可以将实际的XML文件保存到某个位置,然后创建一个链接文件,其中包含指向这些文件的链接内容。或者可以将所有XML文件压缩到一个文件中

  • 将默认扩展名链接到应用程序(以便应用程序默认打开该扩展名)

  • 从应用程序中打开/读取包含XML内容的文件

  • 将XML反序列化为项目并在列表中显示它们


  • 到目前为止,您是否有一些代码供我们查看?我还没有尝试处理此问题,因为我不知道如何处理。我在网上搜索了一些时间,但没有找到对我有用的东西。如果我正确理解了你的问题,你需要按照以下步骤进行操作:1。使用特定的扩展名保存XML文件。2.将默认扩展名链接到您的应用程序(以便应用程序默认打开该扩展名)3。从应用程序中打开/读取包含XML内容的文件。4.将XML反序列化为项目,并在列表中显示它们。我想,你明白了。这就像你创建一个word项目并保存它一样,你可以再次打开它并继续工作。这就是我想要的。因此,我必须将XML保存到完全不同的位置?您不希望应用程序打开所有XML,因此需要将XML保存到特定于应用程序的扩展名中。然后,您可以告诉Windows始终通过应用程序打开此类文件。如何将两个列表的数据保存在一个文件中?我的意思是,我该如何区分这两个文件?@gillesberger\p,正如我在回答中所说的,你可以像以前那样将它们保存到单独的文件中。只需使用这些文件的特定扩展名(例如mydata.extension)内容路径(例如C:\Myfolder\list1.xml;C:\Myfolder\list2.xml)创建另一个文件。然后你可以在你的程序中打开这个链接文件,从那里开始工作。谢谢你的回答。但是我怎样才能读取我已经打开的文件呢。我的意思是,我甚至不知道它的路径。@gillesberger\p,我有点困惑,你说你可以将数据保存到XML文件中,而现在你说你不知道路径?是的,我知道如何保存它,但是如果我显示“保存文件”对话框并保存我的数据,扩展名就是桌面。当用户转换路径并将其复制到文档或重命名时,会发生什么情况。所以我不知道它保存在哪里。我想我需要文件流的路径和名称。