开发者

MS Surface animating an SVI along a straight line

So I'm attempting to move a ScatterViewItem from 1 poi开发者_如何学JAVAnt to the another. I've tried using PointAnimation. However, after the animation completes I can't move the item from the To point. I can spin the item and scale it, but for some reason can not move it.

It's a simple movement from 1 point to the next in a straight line. Should I be using PointAnimation or is there a better way? Thanks I'm doing this in C#

My point animation code:

        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);


I guess you need to use FillBehaviour of the POintAnimation to FillBehavior="Stop"


Although you already have an accepted answer I'd like to add a point here.

Even with FillBehavior set to Stop, there are certain occasions where it just doesn't work. I believe it is in conjunction with HandoffBehavior set to SnapshotAndReplace. What I've done in those cases is to programmatically start a new animation (using BeginAnimation) on that dependency property with a null as second argument.

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

This effectively clears all animations for that dependency property and you can freely assign new values to it.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜