c# – 双向导航时叠加在当前视图上的最后一个视图

我做了以下导航模式:

>导航到应用程序(它的主视图)
>进入从REST服务器获取内容的详细视图(即 – 它显示进度指示器几秒钟)
>虽然仍显示进度指示器,但我快速连续两次单击后退按钮(容易误操作)
>应用程序返回主视图,但详细视图的内容叠加在其上.

产生的混乱的屏幕截图如下所示.

这是在诺基亚Lumia 800和HTC Titan上重现的.

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

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

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

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

解决方法:

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

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

上一篇:计算器之C++.NET实现 V1.20


下一篇:asp.net web窗体,session存值,图片验证码