2008-09-24 6 views
2

Quelqu'un a trouvé un bon motif pour contourner les styles immuables dans Silverlight 2?

Ce que je veux dire est que quelqu'un a une solution de contournement pour le fait que vous ne pouvez pas changer le style d'un élément par programmation, c'est-à-dire que la deuxième ligne lancera une exception catastrophique:Styles immuables dans Silverlight 2

this.TestButton. Style = (Style) Application.Current.Resources ["Fred"];
this.TestButton.Style = (Style) Application.Current.Resources ["Barney"];

Répondre

2

Ce n'est pas possible. La meilleure solution que j'ai vu est de Nikhil Kothari chez Microsoft:

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

Il y a un inconvénient majeur à la définition de styles au centre de App.xaml de toute façon, ce qui est qu'il brise tout le soutien du concepteur lorsque vous faites référence à ceux styles d'autres contrôles utilisateur. Je ne l'ai pas utilisé, mais le moteur de thème de Nikhil semble très prometteur, et j'ai le drôle de sentiment que beaucoup de ses idées finiront par faire partie du produit Silverlight.

+0

Merci pour le lien. BTW - le code ne devait pas être autre chose qu'illustratif - je n'utilise pas normalement des styles avec des noms comme Fred & Barney :-) –

0

Je ne sais pas si cela aide, mais je crois que vous pouvez changer le modèle du contrôle autant de fois que vous le souhaitez pendant l'exécution. Peut-être que ce serait une solution de contournement potentielle.

2

Le problème disparaît dans Silverlight 3 où les styles sont modifiables - yay!

Questions connexes