我有一个Silverlight类库,其中包含我想要在我的Silverlight应用程序中传播的带有样式的ResourceDictionary对象。我们称它为主题库。我想在主题库中使用隐式样式来样式化应用程序中的每个控件。
对于主应用程序中的所有控件,这很容易做到,只需将主题库ResourceDictionaries作为MergedDictionaries添加到App.xaml的ResourceDictionary中。我遇到的问题是,我有一个为某些控件定义DefaultStyleKey的ControlLibrary。不幸的是,ControlLibrary中的样式依赖于组成它们的任何控件的默认样式,我不能改变这一点。
任何人都能解决这个问题吗?
发布于 2010-11-27 18:17:49
我已经解决了这个问题。我必须将主题的ResourceDictionary作为合并字典添加到ControlLibrary和主应用程序中的每个ResourceDictionary上。
换句话说,主题的ResourceDictionary是一个根ResourceDictionary,它被ControlLibrary和应用程序中的元素引用。
不幸的是,默认样式不能通过ControlLibrary元素传播,所以我不得不手动连接我想要在ControlLibrary中设置样式的每个控件。
https://stackoverflow.com/questions/4108160
复制相似问题