MS Surface沿直线设置SVI动画

时间:2009-10-07 21:33:07

标签: c# wpf animation pixelsense

所以我试图将ScatterViewItem从1点移动到另一点。我尝试过使用PointAnimation。但是,动画完成后,我无法从To点移动项目。我可以旋转项目并缩放它,但由于某种原因无法移动它。

这是一个简单的从1点到下一个直线的运动。我应该使用PointAnimation还是有更好的方法?谢谢我在C#

中这样做

我的观点动画代码:

        oPointAnimation = new PointAnimation();
        oPointAnimation.From = new Point(439, 113);
        oPointAnimation.To = new Point(139, 160);

        oPointAnimation.Duration = TimeSpan.FromSeconds(4);
        oPointAnimation.Completed += new EventHandler(oPointAnimation_Completed);
        theCard.BeginAnimation(ScatterViewItem.CenterProperty, oPointAnimation);

2 个答案:

答案 0 :(得分:1)

我猜你需要使用POintAnimation的FillBehaviour来填充FillBehavior =“停止”

答案 1 :(得分:1)

虽然您已经接受了答案,但我想在此处添加一点。

即使将FillBehavior设置为Stop,也会在某些情况下无法正常工作。我相信它与HandoffBehavior一起设置为SnapshotAndReplace。我在这些情况下所做的是以编程方式在该依赖属性上启动一个新动画(使用BeginAnimation),并以null作为第二个参数。

// Remove all animations for the Opacity property on the myElement element 
myElement.BeginAnimation(UIElement.OpacityProperty, null)

这有效地清除了该依赖项属性的所有动画,您可以自由地为其分配新值。