2008-09-24 30 views
2

任何人都發現了一個很好的模式來解決Silverlight 2中的不可變樣式?

我的意思是沒有任何人有一個事實,即一旦它已經被設置你不能切換風格元素的編程方式,即第二線這裏將引發災難性的故障異常的解決方法:Silverlight 2中的不可變樣式

this.TestButton。 Style =(Style)Application.Current.Resources [「Fred」];
this.TestButton.Style =(Style)Application.Current.Resources [「Barney」];

回答

2

這是不可能的。我見過的最好的解決方法是從尼基爾科塔微軟:

http://www.nikhilk.net/Silverlight-Themes.aspx

還有就是在App.xaml中集中定義樣式反正一大缺點,這是它打破了所有設計師的支持,當你引用這些來自其他用戶控件的樣式。我沒有使用它,但Nikhil的主題引擎看起來非常有前途,而且我有一種有趣的感覺,他的許多想法最終都會使它成爲silverlight產品。

+0

感謝您的鏈接。順便說一句 - 代碼並不意味着除了說明之外的任何東西 - 我通常不使用類似Fred&Barney這樣的名稱的樣式:-) – 2008-09-25 07:54:33

0

我不知道這是否有幫助,但我相信您可以在運行時根據需要多次更改控件的模板。也許這將是一個潛在的解決方法。

2

問題在Silverlight 3中消失了,其中樣式是可變的 - 耶!