2012-03-26 117 views
2

我有兩個XAML顏色如下。更改XAML顏色相對於其他XAML顏色的值?

<Color x:Key="DefaultColor">SteelBlue</Color> 
<Color x:Key="LightDefaultColor">LightSteelBlue</Color> 

我想改變LightDefaultColor的顏色相對於只使用XAML到默認的顏色。

就像我給SteelBlue,我應該自動採取淺於SteelBlue LightDefaultColor的顏色。

我不想使用C#代碼..

Note:實際不淺鋼對鋼青,但它應該比鋼青更輕。

+0

那麼,轉換器是否出了問題? – Phil 2012-03-26 17:55:29

回答

1

無法在純XAML中完成。您可以在代碼中創建一個ValueConverter,然後將其應用於XAML中。另外,如果你真的真的想要100%的XAML,你可以得到的最好的結果是將第2層元素放在彼此之上。一個基本顏色在70%opactity頂部的元素是100%不透明度的純白色。

+0

+1爲不透明技巧。我也用了很多。 – 2012-03-26 22:06:46

0

您可以創建一個markup extension其通過StaticResource使用的默認顏色返回它的顏色更淺。 (關於僅限XAML:所有XAML都依賴於代碼隱藏,無論是由您撰寫的還是開發框架的人員都應該不會遇到問題)