C# MS Surface沿直线设置SVI动画

C# MS Surface沿直线设置SVI动画,c#,wpf,animation,pixelsense,C#,Wpf,Animation,Pixelsense,所以我尝试将一个ScatterViewItem从一个点移动到另一个点。我尝试过使用PointAnimation。但是,动画完成后,我无法将项目从点移动到点。我可以旋转项目并缩放它,但由于某些原因无法移动它 这是一个简单的直线运动,从一点到下一点。我应该使用点动画还是有更好的方法?谢谢,我用C语言写的# 我的点动画代码: oPointAnimation = new PointAnimation(); oPointAnimation.From = new Point(

所以我尝试将一个ScatterViewItem从一个点移动到另一个点。我尝试过使用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);

我想您需要使用POintAnimation的FillBehavior来FillBehavior=“Stop”

虽然您已经有了一个公认的答案,但我想在这里添加一个点

即使将FillBehavior设置为Stop,在某些情况下它也不起作用。我相信这是与设置为快照和替换相结合的。在这些情况下,我所做的是以编程方式在依赖属性上启动一个新动画(使用),并将
null
作为第二个参数

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

这将有效地清除该依赖属性的所有动画,您可以自由地为其指定新值。

哦,感谢上帝,我在这方面停留的时间太长了。