如何在WPF中将一个ResourceDictionary导入到其他资源中?

是否可以将一个资源字典添加到另一个资源字典中? 谢谢你的帮助。

在Dictionary2.xaml中定义MergedDictionaries(在打开ResourceDictionary标记之后):

   

有一个问题:每次合并字典时,您都可以有效地创建合并字典的副本。 并且它是递归的 – 如果您有Dict3.xaml和Dict4.xaml都加载Dictionary2.xaml,您将创建三个Dictionary1.xaml实例

解决方案是SharedResourceDictionary 。 本教程中的实现应视为一个起点,可能需要进行一定程度的调整 – 具体取决于使用场景。 谷歌“wpf SharedResourceDictionary”提供了一些问题和解决方案。

从XAMeLi回答这个问题

直接来自我正在研究的草图流项目的代码片段展示了如何在xaml中合并资源字典:

          

这显示将两个额外的资源字典合并到另一个资源字典中。

(请注意,如果您在多个地方定义了默认样式,那么顺序会变得很重要,因为它们会互相覆盖)

就像是:

 ResourceDictionary resources = new ResourceDictionary(); resources.Source = new Uri("/MyModule;component/MyModule.xaml", UriKind.RelativeOrAbsolute); Application.Current.Resources.MergedDictionaries.Add(resources); 

可能是你正在寻找的。 我们在Prism Modules中使用这样的代码。

没有更多的背景,很难给你一个具体的答案。 以下是合并资源字典的一些可能相关的资源:

http://msdn.microsoft.com/en-us/library/aa350178.aspx