2012-08-01 46 views
0

另一个资源我想SystemColors.ControlBrushKey有相同的颜色SystemColors.HighlightBrushKey资源中获取价值。我如何在XAML中指定它?我已经试过:从XAML中

<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="{StaticResource SystemColors.HighlightBrushKey}"/> 

但它抛出一个异常:“找不到指定的资源‘SystemColors.HighlightBrushKey’资源名称是区分大小写的。”。 然后我试着:

<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="{StaticResource {x:Static Member=SystemColors.HighlightBrushKey}}"/> 

,异常是: “#FF3399FF”不是财产“颜色”的有效值。 之后,我已经试过:

<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="{x:Static Member=SystemColors.HighlightBrushKey}"/> 

而且我也得到了一个错误:“‘HighlightBrush’不是财产‘颜色’的有效值。”

那么,如何正确地指定了吗?

回答

0
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" 
       Color="{DynamicResource {x:Static SystemColors.HighlightColorKey}}"/> 
+1

@ Bogdan0x400我将填补空白,因为他没有解释这一点。您正在尝试将* brush *分配给* color *,这不是一回事。相反,使用'HighlightColorKey'将起作用。您可以使用Expression Blend通过GUI轻松完成此操作。 – erodewald 2012-08-01 15:54:25

+0

不幸的是这码不起作用,因为HighlightColorKey和HighlightBrushKey有不同的颜色。 – 2012-08-02 18:04:06

+0

@Erode我怎么从一个刷有约束力的颜色? – 2012-08-02 18:04:48