【问题标题】:Setting a Style using Binding in XAML在 XAML 中使用绑定设置样式
【发布时间】:2011-02-06 22:22:09
【问题描述】:
我需要根据 Silverlight 中的一些配置值设置给定控件的Style。我希望有可能从两种可用样式(静态资源)中为控件选择Style。我试图做类似的事情:
<TextBox Style="{Binding ABC}"/>
在哪里
public string ABC
{
get {return "{StaticResource MyStyle}";}
}
很遗憾,这不起作用。
你有什么想法吗?
提前致谢!
干杯
【问题讨论】:
标签:
c#
silverlight
xaml
coding-style
【解决方案1】:
你很接近。您需要将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 属性的值。