如何在 Silverlight 中使用动态 ResourceDictionary Source?我的应用程序有一个“Styles.xaml”,其中包含很多样式定义,并引用了一个“Colors.xaml”,其中定义了几个画笔:
样式.xaml:
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Project;component/Colors.xaml" />
</ResourceDictionary.MergedDictionaries>
<DataTemplate x:Key="MyLayoutTemplate">
<Button Background="ButtonBackgroundBrush">Button Title</Button>
</DataTemplate>
<!-- A lot of other definitions -->
</ResourceDictionary>
颜色.xaml:
<ResourceDictionary>
<SolidColorBrush x:Key="ButtonBackgroundBrush" Color="#FFFFFFFF"/>
<!-- ... -->
</ResourceDictionary>
所以基本上 Styles.xaml 定义了布局,Colors.xaml 定义了颜色(duh)。我的 App.xaml 仅引用此 Styles.xaml。
我需要的是一种不使用它的方法:
<ResourceDictionary Source="/Project;component/Colors.xaml" />
并将此 Source 属性“指向”(或绑定)到一个静态类,该类将动态定义。像这样的东西:
<ResourceDictionary Source="{Binding Settings.ThemeUri}" />
有什么办法可以做到这一点?