更改XAML颜色相对于其他XAML颜色的值?
问题描述:
我有两个XAML颜色如下。更改XAML颜色相对于其他XAML颜色的值?
<Color x:Key="DefaultColor">SteelBlue</Color>
<Color x:Key="LightDefaultColor">LightSteelBlue</Color>
我想改变LightDefaultColor的颜色相对于只使用XAML到默认的颜色。
就像我给SteelBlue,我应该自动采取浅于SteelBlue LightDefaultColor的颜色。
我不想使用C#代码..
Note:
实际不浅钢对钢青,但它应该比钢青更轻。
答
无法在纯XAML中完成。您可以在代码中创建一个ValueConverter,然后将其应用于XAML中。另外,如果你真的真的想要100%的XAML,你可以得到的最好的结果是将第2层元素放在彼此之上。一个基本颜色在70%opactity顶部的元素是100%不透明度的纯白色。
+0
+1为不透明技巧。我也用了很多。 – 2012-03-26 22:06:46
答
您可以创建一个markup extension其通过StaticResource
使用的默认颜色返回它的颜色更浅。 (关于仅限XAML:所有XAML都依赖于代码隐藏,无论是由您撰写的还是开发框架的人员都应该不会遇到问题)
那么,转换器是否出了问题? – Phil 2012-03-26 17:55:29