从Silverlight中的不同ResourceDictionary引用ResourceDictionary中的资源
我在App.xaml中有以下代码集:
NavigationPanel.xaml包含一个如下所示的样式:
{StaticResource DarkBackground}在Brushes.xaml文件(即第一个资源字典)中定义。 它被定义为
在资源字典中。
在运行时,我收到以下错误:
Cannot find a Resource with the Name/Key DarkBackground [Line: 16 Position: 44]
行号和位置引用app.xaml中的NavigationPanel.xaml资源字典。
我可以从其他控件引用画笔,而不是包含的资源字典。
为什么我不能引用或为什么它不能解析对合并资源字典的层次结构更高的资源的引用? 我在这里想念的是什么?
您是否在NavigationPanel
字典中的任何资源中引用DarkBackground
画笔?
如果您是,您可能需要将Brushes
资源字典合并到NavigationPanel
字典中。
所以在NavigationPanel字典中。
你可以在另一个字典中包含一个字典(比如在C#中使用’),如下所示:
这是你想要的? Cosmopolitan / Metro项目模板就是一个很好的例子……
最简单的答案是Eric在这个网站上的答案: https : //social.msdn.microsoft.com/forums/windowsapps/en-US/2be9a5f6-5313-448d-a9d9-296bac42215e/using-style-defined-in-merged- dictionary-from-another-merged-dictionary?forum = wpdevelop 。
Brushes.xaml和NavigationPanel.xaml被独立解析,然后添加到Application资源的合并字典中,这样他们就不会彼此了解任何事情。