【发布时间】:2010-02-09 02:51:17
【问题描述】:
我读到:http://msdn.microsoft.com/en-us/library/cc903952(VS.95).aspx,特别是标有“使用 ResourceDictionary 转发引用”的部分:
内部的静态资源引用 任何给定的资源字典都必须 引用已经存在的资源 在词法定义之前 资源参考。前向引用 无法通过静态解决 资源参考。为此原因, 如果您使用静态资源引用, 你必须设计你的资源 字典结构使得 用于进一步的资源 按资源使用定义在或附近 各自的开头 资源字典。
这是否意味着我不能在我的 App.xaml 中做这样的事情:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Assets/Colors.xaml"/>
<ResourceDictionary Source="Assets/Brushes.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
其中 Brushes.xaml 包含 SolidColorBrush、LinearColorBrush 等,引用 Colors.xaml 中定义的颜色的定义?
例如
<SolidColorBrush x:Key="OrangeRedBrush" Color="{StaticResource AppOrangeRed}"/>
?
我在 Colors.xaml 中定义我的颜色,例如:
<Color x:Key="AppOrangeRed">#FFBF3C1F</Color>
我收到一个运行时错误,例如它无法找到具有键“AppOrangeRed”的资源。
组织颜色和画笔以便重复使用的最佳做法是什么(在适当的情况下,我知道颜色是结构体,画笔是参考对象,在http://weblogs.manas.com.ar/spalladino/2009/03/02/silverlight-xaml-guidelines/ 中进行了解释)
谢谢 抢
【问题讨论】:
标签: silverlight resources resourcedictionary mergeddictionaries