如何在WPF中为Margin属性设置动画

我想移动矩形对象的动画以在x轴上移动它。 我是WPF动画的新手,从以下开始:

      

显然我发现我不能使用Margin.Left作为Storyboard.TargetProperty或在Value属性中使用134,70,0,0

那么,如何在XAML WPF中移动对象。

可以使用ThicknessAnimation Margin属性设置动画

       

实际上,你可以做你想做的事情,就像你想要使用RenderTransform混合一些DoubleAnimation ,甚至为它添加一些额外的天赋,例如;

                   

将该对象在X轴上移动50px,甚至在它移动时将其淡入。 给它一个镜头并使用X属性和KeyTime来获得你想要的东西。 希望这会有所帮助,欢呼。

作为替代答案@McGarnagle您可以将动画用于HorizontalAlignmentVerticalAlignment属性。

例:

    Center    

你无法为Margin.Left设置动画(因为Left不是依赖属性),但你可以为Margin设置动画。 使用ObjectAnimationUsingKeyFrames

     134,70,0,0     50,70,0,0     

有一些替代方法允许您使用DoubleAnimation ,而不是关键帧:

  1. 将目标放在Canvas中,并使用Canvas.Left为其x位置设置动画。
  2. TranslateTransform应用于目标,并使用TranslateTransform.X为其x位置设置动画。