我正在使用 Silverlight 4 并尝试共享一些常见的样式(颜色、画笔)。 我的想法是将它们放入“Common.xaml”资源字典中,然后在所有其他资源字典中使用它。 像这样引用每个内容:
<Application
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="SampleApp.App"
>
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Assets/Styles/Common.xaml"/>
<ResourceDictionary Source="Assets/Styles/TextBoxStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
问题是,我在InitializeComponent上遇到了一个异常,指出无法找到常用样式(Cannot find a Resource with the Name/Key....)
我必须在每个资源字典中显式引用“Common.xaml”……这基本上导致了“Common.xaml”中包含的每个颜色、笔刷、模板等都会被多次实例化。
难道没有任何方法可以在Silverlight中共享资源,以便它们只被实例化一次吗?