我有一个基本样式文件,包含所有基本颜色和基本字体设置。然后我有2个其他资源字典使用初始资源。
我的设置如下:
<Application.Resources>
<ResourceDictionary>
<localization:LocalizationLocator x:Key="LocalizedStrings" />
<viewModels:ViewModelLocater x:Key="VmLocator" />
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="\Resources\Styles\BaseStyles.xaml" />
<ResourceDictionary Source="\Resources\Styles\FormInputStyles.xaml" />
<ResourceDictionary Source="\Resources\Styles\OtherControllsStyles.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
然后我从FormInputStyles.xml
获得以下异常 Cannot find a Resource with the Name/Key MyNewAccentColor [Line: 17 Position: 44]
有没有办法在添加合并字典之前加载BaseStyles.xaml?
(我知道我可以将它们全部放在同一个文件中,但我希望我的样式可以分解,以便我可以重复使用更好的代码)
答案 0 :(得分:0)
我自己没试过,但是MSDN页面说:
If multiple merged dictionaries exist, these dictionaries are checked in the inverse of the order in which they are declared in the MergedDictionaries property.
即。尝试将BaseStyles.xaml作为最后一个元素。
请同时查看这个问题:Proper usage of Merged Resource Dictionaries in Silverlight 3