我有一段代码循环遍历Images文件夹中的文件(和文件夹),并在UniformGrid中显示缩略图。
当我将图像文件(和文件夹)拖放或添加到Visual Studio解决方案资源管理器,然后点击F5开始调试时,将显示所有图像。
但是当我将图像添加到Windows资源管理器并开始调试时,图像不会显示。我尝试刷新解决方案资源管理器,清理解决方案,重建解决方案,甚至重新启动Visual Studio,但是既没有显示图像,也没有解决方案资源管理器的Image文件夹中列出的图像文件。如果我使用Directory.GetFiles("../../Images/", "*.jpg", SearchOption.TopDirectoryOnly);
计算添加到Window Explorer的图像数,则文件数组的长度确实反映了文件夹中正确的图像数。
为什么在Windows资源管理器中添加图像时,解决方案资源管理器和程序都不会显示图像?为什么Directory.GetFiles(...).Length
会计算正确数量的图像文件?
我已经尝试过运行Visual Studio而不是管理员。
答案 0 :(得分:1)
当你运行程序时,它不会查看项目的images文件夹,而是查看输出图像文件夹(很可能是在“bin”目录下)。当您通过解决方案资源管理器添加图像时,它们会添加到项目中,并且(再次,很可能)在您调试或运行应用程序时将其复制到输出目录中的images文件夹中。
另一方面,当您在Windows资源管理器中添加它们时,项目不知道它们,因此它不会复制这些文件。您需要在项目中“显示所有文件”,然后右键单击新图像并将其添加到项目中。只有这样,它们才会被复制到输出目录,并且在您进行调试时可以被应用程序访问。