gpt4 book ai didi

silverlight - 删除 Silverlight 动画

转载 作者:行者123 更新时间:2023-12-05 00:01:20 26 4
gpt4 key购买 nike

我似乎无法修复我的 Silverlight 动画问题。这个问题似乎已经确定,但用于解决它的技术似乎不适用于我的情况。

这是我用来为名为“underGrid”的网格制作动画的 Storyboard代码。 underGrid 是一个基础网格,我正在对其应用比例和位置偏移以响应用户的鼠标输入,以便他们可以实时缩放和移动网格。下面的 ResetGrid Storyboard简单地从当前比例和位置值动画回到比例 {1, 1} 和位置 {0, 0},为用户重置 View 。我希望能够在用户单击重置按钮时应用此动画,但它会在运行一次后卡住缩放和平移变换(如此处讨论:http://msdn.microsoft.com/en-us/library/aa970493.aspx)。这意味着当用户随后使用鼠标移动网格时,它不会移动。我已经尝试了所有我能想到的方法来阻止动画影响依赖属性。我已经尝试 Hook Completed 事件并尝试(除其他外)、停止动画、将动画寻找到 0、循环遍历 ResetGrid 子项并使用 StoryBoard.SetTarget()。我也试过设置 FillBehavior.. 无论我做什么似乎都没有什么不同,Scale 和 Translation 总是被点击并且不能在用户代码中再次设置。

任何人都可以建议我可以尝试但我没有在上面列出的任何东西(激烈或其他 :))?我只想要动画完全停止并在完成时自行分离。

Storyboard XAML:

  <Storyboard x:Name="ResetGrid">
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="underGrid" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)">
<EasingDoubleKeyFrame KeyTime="00:00:00.5000000" Value="0">
<EasingDoubleKeyFrame.EasingFunction>
<CubicEase EasingMode="EaseInOut"/>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="underGrid" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)">
<EasingDoubleKeyFrame KeyTime="00:00:00.5000000" Value="0">
<EasingDoubleKeyFrame.EasingFunction>
<CubicEase EasingMode="EaseInOut"/>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="underGrid" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)">
<EasingDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1">
<EasingDoubleKeyFrame.EasingFunction>
<CubicEase EasingMode="EaseInOut"/>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="underGrid" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)">
<EasingDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1">
<EasingDoubleKeyFrame.EasingFunction>
<CubicEase EasingMode="EaseInOut"/>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
</Storyboard>

最佳答案

ResetGrid.stop() 会起作用吗?我在我的应用程序中使用它,动画立即被切断。 animation.stop 将停止并重置,而 animation.pause 将停止在它到达的时间轴上如果不是,你可以放另一个持续时间为 0 的动画,调用此动画以放回属性

关于silverlight - 删除 Silverlight 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2365522/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com