【发布时间】:2017-05-03 01:32:47
【问题描述】:
我正在手动制作一个轮播面板。我有一个简单的故事板,它可以旋转一个看起来像轮子的网格。
<Storyboard x:Name="MyStoryboard">
<DoubleAnimation Duration="0, 0, 30" To="3000" FillBehavior="HoldEnd" x:Name="myAnimation"
Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.Rotation)"
Storyboard.TargetName="Wheel" d:IsOptimized="True"/>
</Storyboard>
轮子被分成 10 度的部分,因此当手动停止动画时,它只能停留在 10 度的倍数上。我读了这篇文章: MSDN: How to Set a Property After Animating it with a Storyboard 前两个解决方案似乎不适用于 UWP(Storyboard.Remove 方法甚至不存在),我认为第三个解决方案不适用于旋转面板,因为我无法将 Storyboard 设置为一个 Grid,就像文章中的示例对 Button 所做的那样。
如果我能在故事板停止时以某种方式获得旋转值,我可以将它舍入到下一个 10 的倍数,并用它设置 DoubleAnimation.To 值。有谁知道如何获取这个价值(或者更好的方法来做到这一切)?
【问题讨论】:
标签: c# xaml animation storyboard uwp