我需要根据Silverlight中的某些配置值设置给定控件的Style
。我希望有可能从两种可用样式(静态资源)中为控件选择Style
。我试图做一些像:
<TextBox Style="{Binding ABC}"/>
,其中
public string ABC
{
get {return "{StaticResource MyStyle}";}
}
不幸的是,这不起作用。
你有什么想法吗?
提前致谢!
干杯
答案 0 :(得分:6)
你很亲密。您需要将Style
属性绑定到类型为Style
的属性(不是表示静态资源查找的字符串)。
您有两种存储样式的选项,这将决定该属性的外观。将样式放在页面资源或App资源中,然后您的ABC属性将如下所示:
// using page resources
public Style ABC
{
get { return (Style) this.Resources["_myStyle"]; }
}
// using application resources
public Style ABC
{
get { return (Style) App.Current.Resources["_myStyle"]; }
}
其中_myStyle
是样式对资源字典中x:Key
属性的值。