在XAML中使用绑定设置样式

5

我需要根据一些配置值设置给定控件的样式。我想要从两个可用的静态资源中选择一个控件的样式。我尝试着做了这样的事情:

<TextBox Style="{Binding ABC}"/>

where

public string ABC
{
    get {return "{StaticResource MyStyle}";}
}

很遗憾,那样做行不通。

你有什么想法吗?

提前感谢!

干杯

1个回答

6

你很接近了。不过,你需要将 Style 属性绑定到一个 Style 类型的属性上(而不是表示静态资源查找的字符串)。

关于样式的存储,你有两个选项,这将决定属性的外观。可以将样式放在页面资源或应用程序资源中,然后你的 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属性所拥有的值。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接