Frame.Navigate,Frame.GoBack在捕捉后停止工作

时间:2014-01-15 07:24:23

标签: c# windows-8 windows-store-apps winrt-xaml

我遇到了一个奇怪的问题,我的应用程序在应用程序被捕捉后停止响应Frame.Navigate请求。我正在编写一个包含3个页面的搜索应用程序:查询条目页面,结果页面和结果详细信息页面。

成功运行查询会使用Frame.Navigate(typeof (Results), QueryBox.Text);在已捕捉和未绑定状态下打开结果页面(LayoutAwarePage的后代)。

当从未被禁用的UI运行搜索时,我可以单击结果并导航到详细信息页面。但是,当从捕捉的UI运行搜索时,我无法实际导航到正确的页面。在加载捕捉的结果页面后,似乎完全不可能进行任何类型的导航。单击后退按钮不会返回到查询页面(尽管它确实会影响导航堆栈,因为后退按钮会消失)。

通过调试,我发现了以下信息:

  • 仍在调用正确的按钮处理程序代码。 Snapped视图和完整视图正在执行相同的确切代码以启动详细信息页面(Frame.Navigate(typeof (DetailPopup), pb.PodOwner);,其中DetailPopup是页面,pb.PodOwner是页面的数据上下文。)
  • 实际上正在调用DetailPopup页面的构造函数,但页面仍未加载。
  • 将已捕捉的页面恢复为未绑定状态后,无法导航的效果仍然存在。
  • 在评论<VisualState x:Name="Snapped">Results中应用的所有更改后,问题仍然存在
  • 我已经读过从OnNavigatedTo调用Frame.Navigate存在问题,但是在该方法完成之后所有这些交互都发生得很好。其他方法/事件还有其他类似的警告吗?

如果您有任何特别想要的代码,我很乐意发布它,但我不确定这个问题在哪里,并且发布整个页面来源会有点压倒性;)

0 个答案:

没有答案