双后导航时,最后视图叠加在当前视图上

时间:2012-08-13 08:20:40

标签: c# windows-phone-7 drawing

我执行以下导航模式:

  1. 导航到应用程序(及其主视图)
  2. 进入从REST服务器获取内容的详细信息视图(即 - 显示进度指示器几秒钟)
  3. 当显示进度指示器时,我连续两次点击后退按钮(容易误操作)
  4. 该应用程序返回主视图,但其中包含详细视图叠加的内容。
  5. 产生的混乱的屏幕截图如下所示。

    这是在诺基亚Lumia 800和HTC Titan上重新创建的。

    首先 - 什么是......?我有什么办法可以做到这一点吗?

    输出中没有显示异常(或其他任何内容)。在详细视图的OnNavigatedFrom()方法中发生的唯一事情是将背景图像置零(出于内存原因)。它也发生在其他视图中。

    我的想法是两个视图上的draw方法在不同的线程上调用,只留下主视图的响应。

    知道这里发生了什么,以及如何修复这个错误?

    A screenshot of what has happened

1 个答案:

答案 0 :(得分:1)

当使用Silverlight for Windows Phone工具包中的TransitionFrame时,我遇到了这种类型的问题。如果用户在转换/导航过程中点击后退按钮一次或两次,则在页面之间导航时使用转换可能会导致此问题。

我认为这是一个错误,但在官方CodePlex site of the toolkit无法找到它,因此我不知道任何可靠的解决方案或解决方法,除了尝试处理导致页面上的后退按钮按下的问题。换句话说,按下后退按钮/按键并禁用它(我不确定这会通过认证!),或者只是提示用户使用MessageBox,页面仍在加载,如果他们确定他们想要导航回来,可能适合你。 我能想到的其他解决方案是你避免使用TransitionFrame,但这不是一个真正的解决方案,对吧? :)