2012-05-25 67 views
1

我創建了一個像控件一樣的KPI,並希望根據特定條件應用多個樣式,而無需遍歷多個控件。基本上我有:Silverlight中的嵌套樣式

<Border> 
    <TextBlock> 
</Border> 

邊框需要一個樣式,就像其中的TextBlock一樣。我有典型的綠色/黃色/紅色KPI,但每種都有兩種模式。越接近截止日期,越極端。

因此,對於LongTermGreen,邊框將具有帶有透明背景的綠色邊框,並且TextBlocks的字體顏色將爲綠色。但是對於ShortTermGreen,我想改爲將邊框變成深綠色,並將TextBlock的字體顏色變爲白色。

很顯然,我可以用自定義代碼做到這一點,處理設定基於特定標準的風格,但是這混亂的(一些關鍵績效指標有多個的TextBlocks。

這可能嗎?到目前爲止,我已經來了空白.. 。

回答

0

WPF有這個確切原因數據觸發,但這些不幸的是還沒有把它做成的Silverlight。

這可能是標新立異,但你可以在樣式屬性綁定到KPI狀態,然後使用自定義轉換器返回適當狀態值的正確樣式資源。

否則,自定義代碼是唯一的其他選擇。