如何在WP7中清除"stuck"页面过渡?



我目前有一个应用程序由于页面转换错误而无法通过认证。

该问题对时间非常敏感,但可以通过以下方式重现:

  1. 启动应用程序 - 等待主页显示
  2. 导航到子页面
  3. 导航开始后,点击开始按钮
  4. 然后点击后退按钮 - 子页面在那里
  5. 然后点击后退按钮 - 主页不存在 - 这是一个空白屏幕

如果我点击屏幕锁定按钮,然后解锁手机,那么页面就会正常出现。

没有数据原因,我可以看到为什么主页没有显示,所以感觉这与页面过渡有关。

有使用以下设置:

        var navInTransition = new NavigationInTransition
        {
            Backward = new TurnstileTransition { Mode = TurnstileTransitionMode.BackwardIn },
            Forward = new TurnstileTransition { Mode = TurnstileTransitionMode.ForwardIn }
        };
        var navOutTransition = new NavigationOutTransition
        {
            Backward = new TurnstileTransition { Mode = TurnstileTransitionMode.BackwardOut },
            Forward = new TurnstileTransition { Mode = TurnstileTransitionMode.ForwardOut }
        };
        TransitionService.SetNavigationInTransition(this, navInTransition);
        TransitionService.SetNavigationOutTransition(this, navOutTransition);

如果我删除此转换代码,那么我的应用程序永远不会"卡住"。

以前有人见过这样的事情吗?有没有人知道如果页面过渡卡住,我如何在代码中工作 - 如果是这样,我就可以重新启动它们?

如果这仅在 256MB 设备上,则可能是与内存相关的问题。在这种情况下,请尝试禁用过渡。
按照 http://www.developer.nokia.com/Community/Wiki/Best_practice_tips_for_delivering_apps_to_Windows_Phone_with_256_MB 的建议

或者,您可以尝试只删除动画的一侧。我过去遇到过过渡问题(对不起,不记得确切的细节),这些问题已通过删除NavigationOutTransition得到解决。

最新更新