2013-11-25 84 views
0

我有在多个应用程序之间共享一个WPF自定义控件库。在库中我有一个资源字典,它定义了自定义控件使用的所有颜色。XAML改写控制图书馆资源

但是我想在定义了针对该应用程序的颜色,也可以覆盖库颜色值每个应用项目单独的资源字典,类似这样的系统资源的颜色可以overrided。

我知道我可以保持独立的风格为每个应用程序,但是这意味着每暴露其颜色需要改变的财产,这似乎毫无意义,并只针对暴露的前景,背景的WPF模型等

这可能吗?

回答

0

最终算出来。

我在我的应用程序项目中创建名为“ColourOverrides.xaml”资源字典。然后我添加的控制库这是一个合并字典“Colours.xaml”文件,并改变了所有的引用在我的应用项目指向新ColourOverrides字典。最后,我将自定义控件中的所有颜色资源更改为“DynamicResource”。

现在我可以覆盖ColourOverrides一个资源键,它会在整个应用程序时应用。我还可以使用单独的ColourOverrides文件维护一个单独的应用程序项目,但仍然引用相同的CustomControls库。