我有一个Silverlight类库,其中包含我希望在整个Silverlight应用程序中传播的样式的ResourceDictionary对象。我们称之为主题库。我想在主题库中使用隐式样式来设置应用程序中的每个控件的样式。
这对于主应用程序中的所有控件来说都很简单,只需将主题库ResourceDictionaries添加到App.xaml的ResourceDictionary中作为MergedDictionaries即可。 我遇到的问题是我有一个ControlLibrary,它为某些控件定义了DefaultStyleKey。不幸的是,ControlLibrary中的样式回归到它们组成的任何控件的默认样式,我无法改变它。
任何人都可以解决这个问题吗?
答案 0 :(得分:0)
我已经解决了这个问题。我不得不将Theme的ResourceDictionary作为合并字典添加到ControlLibrary中的每个ResourceDictionary以及主应用程序中。
换句话说,Theme的ResourceDictionary是一个根ResourceDictionary,它由ControlLibrary和应用程序中的元素引用。
不幸的是,默认样式没有通过ControlLibrary元素传播,所以我不得不手动连接我想要在ControlLibrary中设置样式的每个控件。