是否可以获取元素的当前颜色
<UserControl.Resources>
<Storyboard x:Name="SBFade">
<ColorAnimationUsingKeyFrames x:Name="keyframes" Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)" Storyboard.TargetName="LayoutRoot">
<EasingColorKeyFrame KeyTime="0" Value="#FF681D1D"/>
<EasingColorKeyFrame KeyTime="0:0:0.6" Value="Gray"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
</UserControl.Resources>
<Grid x:Name="LayoutRoot" Background="#808080" >.....</Grid>
在值为#FF681D1D的行中,我想要网格的当前背景颜色(此颜色可以在运行时更改.. 谢谢你的帮助!
答案 0 :(得分:0)
在非关键帧动画中,省略“From”值将完成您想要的操作。
类似的东西:
<Storyboard x:Name="SBFade">
<ColorAnimation x:Name="keyframes" Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)" Storyboard.TargetName="LayoutRoot" To="Gray" Duration="0:0:0.6" />
</Storyboard>
或者,对于关键帧,如果省略早期/第一个关键帧,则会获得相同的效果。使用DiscreteColorKeyFrame以外的任何东西(在指定的时间跳转到指定的颜色而不插值)将在颜色之间进行插值。
<Storyboard x:Name="SBFade">
<ColorAnimationUsingKeyFrames x:Name="keyframes" Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)" Storyboard.TargetName="LayoutRoot">
<EasingColorKeyFrame KeyTime="0:0:0.6" Value="Gray"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
这些与msdn示例ColorAnimation和ColorAnimationUsingKeyFrames非常相似(向下滚动到xaml示例)。
如果你想编写反向动画(从灰色不褪色到任何颜色),在视图模型中保持所需的颜色,并绑定To属性(在非关键帧动画的情况下)或Value属性(在关键帧动画的情况下)视图模型的属性。