Silverlight 4-在另一个ResourceDictionary中使用StaticResource
||
如果我有这些字典:
dict1.xaml:
<Color x:Key=\"Color1\">Red</Color>
dict2.xaml:
<SolidColorBrush x:Key=\"Brush1\" Color={StaticResource Color1} />
这有效:
App.xaml:
<MergedDictionaries>
<ResourceDictionary Source=\"dict1.xaml\"/>
<MergedDictionaries>
SomePage.xaml:
<UserControl.Resources>
<MergedDictionaries>
<ResourceDictionary Source=\"dict2.xaml\"/>
</MergedDictionaries>
</UserControl.Resources>
这不是:
App.xaml在应用程序级别合并。
我收到有关找不到Color1的错误。
为什么是这样 ? /有办法解决吗?我知道这个例子很简单,但实际例子太长了。基本上,我只是想在不同的文件中组织样式和模板:
一种颜色
一种隐式样式
许多用于明确的样式
编辑:奇怪的是,如果我在Application_Startup
的代码中执行此操作,那么在设置RootVisual
属性之前,我不会收到错误消息...我只是对为什么感到困惑!
没有找到相关结果
已邀请:
4 个回复
门锑腺潮
中的每个字典,因此,当加载“ dict2.xaml”时,您不能依赖于存在“ dict1.xaml”的内容。 最简单的解决方案是将Dict1合并到Dict2中: App.xaml:
Dict2.xaml:
末钉蹈泰唬
只要您在另一本字典之前定义字典,我有点惊讶与上面类似的内容将不起作用。
河饶办斜施
吐兄