2016-01-30 84 views
0

我想绑定来自SolidColorBrush的颜色并从中定义Color资源。如何将颜色绑定到颜色资源?

<SolidColorBrush x:Key="MyBrush" Color="#FFF3F3F3"/> 
<Color x:Key="MyColor" {how i bind brush color here?} /> 

或只是我想在一个ColorAnimation使用在某处的颜色,如:

<SolidColorBrush x:Key="MyBrush" Color="#FFF3F3F3"/> 

<Storyboard x:Key="MyStoryboard"> 
    <ColorAnimation To="{Binding Color, Source={StaticResource MyBrush}}" Duration="0:0:1" 
. 
. 
. 
/> 
</Storyboard> 

我有这样的错误:

System.Windows.Markup.StaticResourceHolder '上提供价值' '抛出了一个例外。'

+0

ColorAnimation.To绑定适用于我。你的问题肯定是在别的地方。 – Clemens

回答

1

你通常会做它反过来:

<Color x:Key="MyColor">#FFF3F3F3</Color> 
<SolidColorBrush x:Key="MyBrush" Color="{StaticResource MyColor}"/> 

如果你只拥有的SolidColorBrush和希望的地方重新使用它的颜色,你总是可以通过绑定这样做:

Color="{Binding Color, Source={StaticResource MyBrush}}" 
+0

感谢您的回答。 但我想这样做反向 这有可能吗? –

+0

这没什么意义。您不能绑定Color的A,R,G和B属性,因为它们不是依赖项属性。 – Clemens

+0

我知道..在vs我可以设置SolidColorBrush颜色视觉颜色选择器,但我不能做的颜色。 –