我的应用程序对货币做了很多工作,因此经常使用我拥有的 80-90 个 .ICO 文件作为资源,这些文件是国家标志,代表每种货币。大多数屏幕都使用这些,每次使用都重新加载它们似乎是一种浪费,特别是考虑到当我使用具有 IMG 标签的数据模板时,它会卡住 GUI 或者在 ListViews 等中加载它们时使其性能非常低下。
在 WPF 中是否有推荐的某种方法或设计,我可以将这些图像预加载到 WPF 应用程序空间中,以便无论何时引用它们,它们都已经缓存并全局加载,因此我只需在应用程序中将它们加载到内存中一次start,那么以后每次使用都快如闪电?
谢谢
最佳答案
我建议将它们放入您的 xaml 中的 Application.Resources 中。
它们只加载一次,并且可以在您的应用中随处访问。”
参见 How to: Use Application Resources在 msdn 上。
编辑:
在您也绑定(bind)项目的类中(包含 IconSelect
的类),您需要添加一个额外的属性。
public BitmapImage BitmapIconSelect
{
get
{
return Application.Resources[IconSelect];
}
}
然后绑定(bind)到这个属性:
<Image Source="{Binding BitmapIconSelect, IsAsync=True, Mode=OneWay}" Width="20" Height="20" />
这段代码是我徒手写的,所以我不确定它是否可以编译,但我希望你明白我的意思。
关于c# - WPF 图标预加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12194249/