【问题标题】:Programatically Changing Windows Phone 7 Application Startup Page以编程方式更改 Windows Phone 7 应用程序启动页面
【发布时间】:2011-04-04 09:10:15
【问题描述】:

我创建了一个简单的公交时刻表应用程序,其中包含一个收藏页面、一个搜索页面和一个结果页面。如果用户有收藏夹,那么我希望他们显示收藏夹页面,否则他们应该显示搜索页面。此外,如果用户在过去 10 分钟内执行了搜索,那么他们应该转到结果页面。

我最初的做法是在 MainPage.xaml Loaded 事件中调用 NavigationService.Navigate。这似乎工作正常,但由于后退按钮不再退出应用程序(由于隐藏页面仍在导航堆栈中),我未能通过 Microsoft 的验证。

然后我想在我的应用程序中有一个 Loaded 属性,如果用户在登录时已经被重定向,那么应用程序将调用 Quit 或 GoBack,但是这两个选项似乎都不可行(没有 Quit,并且调用返回第一页会失败)。

有谁知道实现页面重定向或清理导航堆栈的最佳方法?

【问题讨论】:

    标签: c# .net windows-phone-7 silverlight-4.0


    【解决方案1】:

    Peter Torr 在他的博文Redirecting an initial navigation 中记录了这种方法的实现方式有很多种。在您的情况下,我认为自定义 UriMapper 可能是最好的解决方案。

    【讨论】:

      【解决方案2】:

      我建议始终向用户显示主页。主页应该允许访问收藏夹、搜索和结果。用户将选择他们想要的页面。您可能认为您通过预加载您认为他们想要的内容来帮助用户,但是对于您正确的每 8 个,就会有 2 个想要另一个页面。此外,您还可以简化应用程序并通过验证。

      【讨论】:

      • 我以前曾向我提出过​​这个建议。在我放弃这个想法之前,我想至少让重定向工作并尝试一下。可能是单个初始页面对用户更友好,但我并没有真正接受它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-05
      • 2011-03-27
      相关资源
      最近更新 更多