如何在引用另一个资源的ResourceDictionaries之间共享资源?

时间:2012-11-28 06:02:42

标签: .net wpf xaml

假设我有多个资源字典,并且某些资源具有对其他资源字典中的资源的Dynamic / StaticResource引用,那么它们是否相互引用而不必使用MergedDictionary来引用其他字典?

我认为将所有资源字典合并到Application.Resources中会允许将所有Dynamic / StaticResource引用解析为应用程序级别,但是这会给我一个例外,即找不到密钥,所以我猜它不会这样工作?

如果这些资源字典依赖于另一个资源,通过MergedDictionaries互相引用并将这些全部合并到Application.Resources中,那么我不会创建相同资源字典的副本作为单独的实例并且不必要地浪费内存?

有更优雅的方法吗?

1 个答案:

答案 0 :(得分:1)

这是MergedDictionary的一个实现,它缓存ResourceDictionary对象(避免重复问题。)

http://www.wpftutorial.net/MergedDictionaryPerformance.html