【发布时间】:2011-03-07 14:08:08
【问题描述】:
我有一个大型 WPF 应用程序,最近我们的图标消失了。我们将图像作为外部资源加载到内存中。我们有一个自定义按钮模板,我们在其中设置了一个 ImageSource 以显示图标。我使用 procmon 来查看图像文件是否已加载到内存中。我使用 WPF Snoop 来查看按钮是否正确设置了图像。只有一些图标会消失,然后如果您再次启动应用程序,它们可能都在那里。如果我将图像源更改为已加载并显示的文件之一,则使用 snoop,那么该文件也会显示,但如果我将“坏”的文件放入之前加载良好的按钮中,则图标仍然消失。当它们消失时,它们也消失了。有时,其中一个按钮上会同时出现错误的图标。
按钮模板具有用于加载和显示图像的 Imagesource 设置。
这真的很令人费解,因为一次加载一切正常,而下一次,一些图标没有加载。它们都是png文件。
有什么想法可以看下一步吗?谢谢。
【问题讨论】:
-
调试时,是否在“输出”窗口中收到类似“无法找到资源”或类似内容的消息?
-
ProcessMonitor 显示整个文件正在被读入内存。它显示打开,读取整个文件大小,然后关闭文件。没有输出表明它找不到资源。这些是外部资源,因此它正在加载一个根本没有编译为资源的外部文件。