5

如果 Resources 字典不可观察,DynamicResource 引用如何工作?资源字典的 Add / Remove 方法是否具有内部代码,可以“轮询”所有 DynamicResource 引用并在删除或添加它们时刷新它们?

4

1 回答 1

9

每个 ResourceDictionary 包含三个所有者列表。一个用于 FrameworkElement,一个用于应用程序,另一个用于 FrameworkContentElement。当您访问 Resources 属性时,正在设置所有者。每个 ResourceDictionary 也将其所有者传播到合并的字典。当字典发生变化时,它会通知所有者。此通知实际上搜索具有包含资源表达式的本地值的依赖项属性。然后每个表达式都被迫重新评估。

所有这些代码都是内部的。

于 2011-08-08T07:45:22.007 回答