Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.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# 检查xml中的数据是否已更改,并在不重新启动应用程序的情况下更新视图_C#_Xml_Winforms_Visual Studio - Fatal编程技术网

C# 检查xml中的数据是否已更改,并在不重新启动应用程序的情况下更新视图

C# 检查xml中的数据是否已更改,并在不重新启动应用程序的情况下更新视图,c#,xml,winforms,visual-studio,C#,Xml,Winforms,Visual Studio,我现在面临着一个问题 我使用xml文件来存储信息,一旦我的应用程序启动,它就会从xml文件中提取数据,并基于此动态构造视图。问题在于,用户可以在应用程序中更新xml文件中的数据并将其保存。然而,由于视图已经加载了所有数据,用户现在在应用程序重新启动(关闭并再次启动)之前不会看到新数据 我正在寻找一种方法,在xml文件更新后刷新某些元素中的数据,或者使其每次都不断检查xml文件中的数据 我正在考虑一种方法,当用户更新xml时,通过单击“保存”按钮来实现这一点。看起来您需要类似FileSystemW

我现在面临着一个问题

我使用xml文件来存储信息,一旦我的应用程序启动,它就会从xml文件中提取数据,并基于此动态构造视图。问题在于,用户可以在应用程序中更新xml文件中的数据并将其保存。然而,由于视图已经加载了所有数据,用户现在在应用程序重新启动(关闭并再次启动)之前不会看到新数据

我正在寻找一种方法,在xml文件更新后刷新某些元素中的数据,或者使其每次都不断检查xml文件中的数据


我正在考虑一种方法,当用户更新xml时,通过单击“保存”按钮来实现这一点。

看起来您需要类似FileSystemWatcher.Changed事件的东西。您可以在应用程序加载时连接到事件,并知道文件何时更改。这将允许您捕获内部(由程序)和外部(由文本编辑器或类似的东西)所做的更改

当检测到文件更改时,只需加载新文件并用新数据刷新视图即可。这一部分可能有点复杂,具体取决于如何将数据加载到视图中。这还可能需要在进行外部更改时检测视图中的更改。最好在重新加载之前提示用户。这一切都取决于您的用例和用户的预期用途

酱汁:

您是如何(在哪里)动态创建视图的?在保存新数据以重建视图时,不能重用相同的代码吗?