DoubleAnimation,如何以特定值执行操作?

时间:2013-09-04 16:14:33

标签: c# windows-runtime winrt-xaml

我有一个矩形,我使用PlaneProjection在其Y轴上旋转。范围设置为0到360,它工作正常。然而,我想要做的是,一旦值达到某个点180,然后在这种情况下为360,则更改填充颜色。我看不到找到一种“观察”这个属性的方法,动画只暴露了一个已完成的事件。

我能想到的唯一可行方法是设置2个动画,1个从0到180,另一个从180到360,然后在两者之间来回改变颜色。虽然这个方法对我来说有些麻烦,但我不确定如何让两个动画在循环中连续发射。

由于

1 个答案:

答案 0 :(得分:0)

您可以尝试将另一个(自定义?)属性绑定到PlaneProjection上的rotation属性,并在属性更改处理程序中更改填充颜色。

另一种选择是将ColorAnimationUsingKeyFrames与DiscreteColorKeyFrame一起使用,并在旋转值达到所需值时设置用于填充的SolidColorBrush的颜色。请注意,除非您使用DoubleAnimationUsingKeyFrames或使用缓动函数,否则您的值通常为设置动画持续时间的一半。

然后你也可以使用选择正确颜色的转换器将Fill属性绑定到PlaneProjection上的rotation属性。