Silverlight中的不可变样式2
-
02-07-2019 - |
题
任何人都发现了在Silverlight 2中绕过不可变样式的良好模式?
我的意思是,任何人都有一个解决方法,因为一旦设置了元素,就不能以编程方式切换元素的样式,即这里的第二行会引发灾难性的失败异常:
this.TestButton.Style =(Style)Application.Current.Resources [" Fred"];
this.TestButton.Style =(Style)Application.Current.Resources [" Barney"];
解决方案
这是不可能的。我见过的最好的解决方法是微软的Nikhil Kothari:
http://www.nikhilk.net/Silverlight-Themes.aspx
无论如何,在App.xaml中集中定义样式存在一个主要缺点,即当您从其他用户控件引用这些样式时,它会破坏所有设计器支持。我没有使用它,但Nikhil的主题引擎看起来非常有前途,我有一种有趣的感觉,他的许多想法最终会成为最终的银色产品。
其他提示
问题在Silverlight 3中消失了,其中样式是可变的 - yay!
我不知道这是否有帮助,但我相信您可以在运行时期间多次更改控件的模板。也许那将是一种潜在的解决方法。
不隶属于 StackOverflow