【问题标题】:How does ResourceDictionary change result in DynamicResource reevaluation?ResourceDictionary 更改如何导致 DynamicResource 重新评估?
【发布时间】:2011-10-22 04:15:00
【问题描述】:

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

【问题讨论】:

    标签: wpf resourcedictionary dynamicresource


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-01-19
      • 1970-01-01
      • 2011-05-06
      • 1970-01-01
      • 2022-01-07
      • 1970-01-01
      • 2023-03-31
      • 2014-11-10
      • 1970-01-01
      相关资源
      最近更新 更多