C# Silverlight动画在页面导航期间崩溃应用程序

C# Silverlight动画在页面导航期间崩溃应用程序,c#,silverlight,animation,windows-phone-8,mvvmcross,C#,Silverlight,Animation,Windows Phone 8,Mvvmcross,在一个WP8项目中,我有两个视图-使用MVVMCross-GameView和GameOverView 我在GameView中播放一些动画(相对于在ItemsControl中用作数据模板的特定用户控件),当切换到GameOverView时,这些动画会使我的应用程序崩溃 我的动画是使用故事板在代码中执行的。 切换视图时没有播放动画,一切正常。 切换应用程序时播放动画时崩溃 当相对用户控件失去焦点或诸如此类的事情时,有没有办法告诉动画停止 或者,当我从GameView导航到GameOverView时,

在一个WP8项目中,我有两个视图-使用MVVMCross-GameViewGameOverView

我在GameView中播放一些动画(相对于在ItemsControl中用作数据模板的特定用户控件),当切换到GameOverView时,这些动画会使我的应用程序崩溃
我的动画是使用故事板在代码中执行的。
切换视图时没有播放动画,一切正常。
切换应用程序时播放动画时崩溃

当相对用户控件失去焦点或诸如此类的事情时,有没有办法告诉动画停止

或者,当我从GameView导航到GameOverView时,我必须手动确保动画正确停止吗?
我尝试了这种方法,使用IMvxMessenger事件在OnNavigatedFrom期间手动停止动画,但停止顺序发生在导航之后。是否有一种方法可以使用同一个线程来确保在导航之前停止所有操作?或者我可以按顺序访问每个dataTemplate用户控件,强制它们停止吗?
最好的策略是什么

谢谢你的帮助。
关于

我将首先查看动画代码。我有一个设置,其中我还有一个用户控件,它具有来自xaml的简单故事板(只是连续翻转),并且我从代码隐藏中为它设置动画。我从来没有在设置动画时突然移动到另一个视图

如果您在OnNavigatedFrom中,您不能停止动画而不是使用messenger;这就是我们应该真正清理所有订阅的事件


在我的控件上,我刚刚添加了一个方法Animate(bool start)并使用.Begin()和.Stop()

长话短说:动画错误。经验教训:永远不要设置“高度”属性的动画。我用了一个TranslateTransform来代替,这个问题就消失了(这是一部字幕风格的动画)。我认为高度(可能是某种布局重新计算)出现了问题,最终导致崩溃(Visual Studio没有帮助,应用程序只是终止)。。。无论如何,谢谢你的帮助。