【发布时间】:2014-11-18 09:06:31
【问题描述】:
我在从一个页面导航回另一个页面时遇到了一种非常奇怪的行为。也许有人知道可能是什么原因,因为我不知道;)
技术: 适用于 Windows (Phone) 8.1 的通用应用程序,带有 XAML/C#
那么会发生什么:
- 用户从一个页面向前导航到另一个页面。
- 旧页面设置为 NavigationCacheMode.Required,因为它应该保留其状态和数据。
- 现在,如果使用鼠标 (Windows) 或物理后退按钮 (Windows Phone) 单击“UI 后退按钮”进行导航,则可以正常工作。 如果用户通过触摸输入在 Windows 上单击“UI 后退按钮”,则会出现问题,但不会引发任何错误,甚至现在可以调试。
奇怪的事实是:
- 触发点击事件并调用 Frame.GoBack()
- OnNavigatingFrom() 和 OnNavigatedFrom() 也被调用,缓存页面上的 OnNavigatingTo() 也是如此
- 但视图保持不变,我也可以与显示的页面进行交互
更烦人的是: 如果相同的导航首先通过鼠标输入完成,然后通过触摸完成,它就像一个魅力。
它可以在 Surface RT 1 和 2 上重现,也可以在带有触摸输入的 Dell Inspiron 15 上重现。
不包括代码,因为我在命名事件或方法中没有做任何特别的事情,所以它是来自 WinRT 的普通标准框架导航
我很感激每一个能引导我找到原因的想法
【问题讨论】:
标签: c# windows-runtime winrt-xaml