在Silverlight中嵌套样式

时间:2012-05-25 18:44:43

标签: silverlight styles themes

我正在创建一个类似控件的KPI,并希望根据特定条件应用多种样式,而无需遍历多个控件。基本上我有:

<Border>
  <TextBlock>
</Border>

边框需要一种样式,就像其中的TextBlocks一样。我有典型的绿色/黄色/红色KPI,但每种都有两种模式。你越接近截止日期,就越极端。

因此对于LongTermGreen,边框将具有带透明背景的绿色边框,并且TextBlocks的字体颜色将为绿色。但对于ShortTermGreen,我想改为使边框呈深绿色,而TextBlock的字体颜色为白色。

显然我可以使用自定义代码执行此操作并根据特定条件设置样式,但这很麻烦(某些KPI有多个TextBlock。

这可能吗?到目前为止,我一直空白......

1 个答案:

答案 0 :(得分:0)

WPF有这个确切原因的数据触发器,但遗憾的是没有进入Silverlight。

这可能是非常规的,但您可以将样式属性绑定到KPI状态,然后使用自定义转换器返回正确的样式资源以获取相应的状态值。

否则,自定义代码是唯一的替代方案。