【发布时间】:2023-08-09 06:48:01
【问题描述】:
WPF... 如果我将图像添加到我的 ResourceDictionary 并稍后使用 StaticResource 在多个地方使用它... 该图像只有一个实例吗? 还是每次使用时都会创建该图像的新实例?
【问题讨论】:
WPF... 如果我将图像添加到我的 ResourceDictionary 并稍后使用 StaticResource 在多个地方使用它... 该图像只有一个实例吗? 还是每次使用时都会创建该图像的新实例?
【问题讨论】:
实例级别
在包含 ResourceDictionary 的元素的同一个实例中,是的,只要您不说 x:Shared="false",它总是采用同一个实例。
对于控件和图像,如果您希望它们多次使用它们,这将是必要的。对于 ImageSources 不是。这是因为一个元素只能有一个父元素。
全球水平
但是,会为每个实例加载资源。这意味着如果您在 UserControl 的资源部分中定义一个 Resource,对于您的 UserControl 的每个实例,将加载一个资源实例。将常用资源放入 App Resources 部分或 Windows Resources 部分。
Here你会找到更多信息。
【讨论】:
如果您希望加载一份资源副本,请使用 Christian Moser 的 SharedResourceDictionary http://www.wpftutorial.net/MergedDictionaryPerformance.html
【讨论】: