2011-04-04 54 views
0

我创建了一个简单的总线时间表应用程序,其中包含收藏页面,搜索页面和结果页面。如果用户有最喜欢的,那么我希望他们能够显示最喜欢的页面,否则他们应该显示搜索页面。另外,如果用户在最近10分钟内执行了搜索,则应该转到结果页面。以编程方式更改Windows Phone 7应用程序启动页面

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

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

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

回答

1

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

+0

谢谢,现在查看他的示例代码。 – 2011-04-04 20:51:49

+0

这很好。 – 2011-04-05 14:27:25

0

我会建议总是向用户显示主页面。主页面应允许访问收藏夹,搜索和结果。用户将选择他们想要的页面。你可能会认为你正在通过预先加载你认为他们想要的东西来满足用户的需求,但是对于每个8你认为正确的地方,会有2个需要另一个页面。另外,您可以简化应用程序并通过验证。

+0

我以前有过这个建议。在我放弃这个想法之前,我想至少让重定向工作并尝试一下。这可能是一个初始页面更方便用户使用,但我并不真正销售它。 – 2011-04-04 20:54:43

相关问题