dict1.xaml:
<颜色x:键=“颜色1”>红色< /颜色>
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属性之前,我没有收到错误…我只是为什么感到困惑!
解决方法 不幸的是,你在Silverlight资源系统中遇到了一个烦人的限制,我只能想象这是一些优化问题.这里似乎有一些异步行为,其中MergedDictionarIEs中的每个字典都是并行加载的,因此当加载“dict2.xaml”时,你不能依赖于存在的“dict1.xaml”内容.最简单的解决方案是在Dict2中包含Dict1的合并: –
App.xaml中:
<ResourceDictionary.MergedDictionarIEs> <ResourceDictionary Source="dict2.xaml" /><ResourceDictionary.MergedDictionarIEs>
Dict2.xaml:
<ResourceDictionary> <ResourceDictionary.MergedDictionarIEs> <ResourceDictionary Source="dict1.xaml" /> </ResourceDictionary.MergedDictionarIEs> .... <!-- dict2 resource --></ResourceDictionary>总结
以上是内存溢出为你收集整理的Silverlight 4 – 在另一个ResourceDictionary中使用StaticResource全部内容,希望文章能够帮你解决Silverlight 4 – 在另一个ResourceDictionary中使用StaticResource所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)