canvas在Windows Phone 8.1中移动animation

我不能解决一个问题,canvas顺利移出屏幕边框在Windows Phone 8.1,虽然不透明度属性改变很好。

<Storyboard x:Name="moveOut"> <DoubleAnimation Storyboard.TargetProperty="Opacity" Storyboard.TargetName="CanvCalling" From="1.0" To="0.0" Duration="0:0:1" /> </Storyboard> 

我已经使用PointAnimation为基元(椭圆,方形)解决了它,但它不适用于canvas。

以前它使用ThicknessAnimationMargin属性,但它不适用于UWP和Windows Phone 8.1

简述:

我需要使用animation顺利地改变保证金属性,我想在XAML中做,

要么

我怀疑这是通过RenderTransform实现的

你可以使用LayoutTransform,但是它不像RenderTransform那么干净,只要光滑…我几乎总是会建议一个RenderTransform,如果可以的话,这应该和XAML动画一样平滑。

当您使用LayoutTransform时,将字面移动到新的规格,使用RenderTransform只需移动对象的可视面即可。 对于我来说,LayoutTransform最适合在裁剪时遇到问题,或者在动画过程中需要更改其他元素的大小/位置。 例如…如果您使用RenderTransform / ScaleTransform / Scale.X和Y并增加项目大小,它将只是可视化增长。 与它的交互也会增长,所以所有的用户输入事件都会像在视觉上一样工作。 如果使用与LayoutTransform相同的控件,则控件的大小不会增加,但是它周围的所有对象将会移动或缩小,或者是任何需要的来适应新的大小。 一个很好的例子是高度设置为自动的网格行。 如果将RenderTransform对象变大,则行的高度不会变化,但如果使用LayoutTransform,行将更改为适应新的大小。

希望这可以帮助。

在下面的TargetProperty XAML中使用CompositeTransform解决…

  <Canvas.RenderTransform> <CompositeTransform /> </Canvas.RenderTransform> <Canvas.Resources> <Storyboard x:Name="moveTo"> <DoubleAnimation Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="CanvCalling" From="0" To="200" Duration="0:0:1" RepeatBehavior="Forever" /> </Storyboard>