在WP8项目中我有2个视图 - 使用MVVMCross - GameView &的 GameOverView 即可。
我播放一些动画 - 相对于在ItemsControl中使用DataTemplate的特定用户控件 - 在 GameView 中,当切换到 GameOverView 时会崩溃我的应用。
我的动画是使用故事板在代码中执行的
当切换视图时没有播放动画时,一切都很好
当切换应用程序崩溃时正在播放动画。
当相对用户控件失去焦点或此类事情时,有没有办法告诉动画停止?
或者,当我从 GameView 导航到 GameOverView 时,我是否要手动确保动画已正确停止? 我尝试通过使用 IMvxMessenger 事件在 OnNavigatedFrom 期间手动停止动画,但在导航后停止订单。有没有办法在导航之前使用相同的线程来确保一切都停止了?或者我可以按顺序访问每个dataTemplate用户控件,强制它们停止吗? 什么是最好的策略?
任何帮助表示赞赏。 此致
答案 0 :(得分:0)
我会先查看动画代码。我有一个设置,我也有一个带有简单故事板的userControl(只是连续翻转)来自xaml,我从后面的代码中设置动画。在制作动画时,我从未遇到过移动到另一个视图的崩溃。
如果你在OnNavigatedFrom中,你不能只停止动画而不是使用信使;这是一个应该真正清理所有订阅的事件。
在我的控制下,我刚刚添加了一个方法Animate(bool start)并使用.Begin()和.Stop()