【问题标题】:WPF images inside ResourceDictionary are singleton?ResourceDictionary 中的 WPF 图像是单例的?
【发布时间】:2023-08-09 06:48:01
【问题描述】:

WPF... 如果我将图像添加到我的 ResourceDictionary 并稍后使用 StaticResource 在多个地方使用它... 该图像只有一个实例吗? 还是每次使用时都会创建该图像的新实例?

【问题讨论】:

标签: wpf resourcedictionary


【解决方案1】:

实例级别
在包含 ResourceDictionary 的元素的同一个实例中,是的,只要您不说 x:Shared="false",它总是采用同一个实例。
对于控件和图像,如果您希望它们多次使用它们,这将是必要的。对于 ImageSources 不是。这是因为一个元素只能有一个父元素。

全球水平
但是,会为每个实例加载资源。这意味着如果您在 UserControl 的资源部分中定义一个 Resource,对于您的 UserControl 的每个实例,将加载一个资源实例。将常用资源放入 App Resources 部分或 Windows Resources 部分。

Here你会找到更多信息。

【讨论】:

    【解决方案2】:

    如果您希望加载一份资源副本,请使用 Christian Moser 的 SharedResourceDictionary http://www.wpftutorial.net/MergedDictionaryPerformance.html

    【讨论】:

      最近更新 更多