正如我所读到的: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/ )
谢谢罗伯