我有以下Windows Phone代码,用于将Rectangle
的颜色从黑色更改为红色。
<Grid x:Name="LayoutRoot">
<phone:Pivot x:Name="MyPivot" >
<phone:PivotItem x:Name="MyPivotItem">
<Canvas x:Name="MyCanvas">
<Canvas.Resources>
<Storyboard x:Name="MyStoryboard">
<ColorAnimationUsingKeyFrames
Storyboard.TargetProperty="(Rectangle.Fill).(SolidColorBrush.Color)"
AutoReverse="True">
<EasingColorKeyFrame KeyTime="00:00:0" Value="Black" />
<EasingColorKeyFrame KeyTime="00:00:0.5" Value="Red" />
</ColorAnimationUsingKeyFrames>
</Storyboard>
</Canvas.Resources>
</Canvas>
</phone:PivotItem>
</phone:Pivot>
</Grid>
我想做的是让它更具动态性,以便我可以从代码隐藏页面更改EasingColorKeyFrame
中使用的颜色。是否可以将Value
的{{1}}绑定到代码隐藏页面中的属性?
答案 0 :(得分:1)
如果您只是尝试更改代码隐藏页面中的颜色,那么只需为您的帧提供一个x:Name并在后面的代码中设置它们的值。
...
<EasingColorKeyFrame KeyTime="00:00:0" x:Name="start" Value="Black" />
<EasingColorKeyFrame KeyTime="00:00:0.5" x:Name="end" Value="Red" />
...
代码隐藏:
private void ChangeColors()
{
start.Value = Colors.Green;
end.Value = Colors.Blue;
}