2010-11-05 83 views
0

我有一個Silverlight類庫,其中包含ResourceDictionary對象,其中包含要在整個Silverlight應用程序中傳播的樣式。我們稱之爲主題庫。我想在主題庫中使用隱式樣式來設置應用程序中的每個控件。Silverlight ControlLibrary項目中的隱式樣式

只需將主題庫ResourceDictionaries作爲MergedDictionaries添加到App.xaml的ResourceDictionary,這對於主應用程序中的所有控件都很簡單。 我遇到的問題是我有一個ControlLibrary,它爲某些控件定義了DefaultStyleKey。不幸的是,ControlLibrary中的樣式會恢復爲由它們組成的任何控件的默認樣式,我無法更改它。

任何人都可以解決這個問題嗎?

+0

我已經解決了這個問題。我必須將主題的ResourceDictionary作爲合併字典添加到ControlLibrary以及主應用程序中的每個ResourceDictionary上。 (抱歉,不是評論,而是答案!) – 2010-11-27 10:15:10

回答

0

我已經解決了這個問題。我必須將主題的ResourceDictionary作爲合併字典添加到ControlLibrary以及主應用程序中的每個ResourceDictionary上。

換句話說,主題的ResourceDictionary是一個根ResourceDictionary,它由ControlLibrary和應用程序中的元素引用。

不幸的是,默認樣式不會傳播通過ControlLibrary元素,所以我不得不手動連線我想在ControlLibrary中創建樣式的每個控件。