我想知道应用内主页按钮的实现,它可以将您从任何页面返回到主页面。据我记得,WP7 开发指南不允许这样做。但我找不到任何关于此的书面信息。
有谁知道这是写在哪里?
我想知道应用内主页按钮的实现,它可以将您从任何页面返回到主页面。据我记得,WP7 开发指南不允许这样做。但我找不到任何关于此的书面信息。
有谁知道这是写在哪里?
通常不鼓励主页按钮,msdn 来源:
在用户界面中放置主页按钮与 Windows Phone 导航模型不同。
在您的应用程序中实现主页按钮也可能会导致第二个问题,该问题对您的应用程序有更严重的影响:它可能会无意中造成用户可能陷入无限(或接近无限)循环的场景,当他或她同时使用您的主页按钮和硬件返回按钮进行导航。如果他们使用后退按钮从一个应用程序返回到您的应用程序只是为了到达另一个应用程序,这个循环可能会变得更糟。确保这些问题不会影响您的应用。
但是,尽量保持应用程序的架构尽可能浅,并使用列表和数据透视表,以便用户可以通过几步后退导航回到登录屏幕,然后从那里返回之前启动的应用程序。
但是会有一些应用程序不能进行浅层导航并且需要主页按钮,例如谷歌驱动器或保管箱文件夹浏览器 - 在深入文件夹结构后,用户将希望快速导航到主页。指南,msdn 来源:
如果您的应用程序允许用户固定页面,请考虑是否需要主页按钮才能让用户快速返回应用程序的根目录。主页按钮导航到应用程序的主页,然后清除整个导航返回堆栈。
例如,如果固定页面是购物车,则用户可能希望完成购物车中的购买,然后再次开始购物。在这种情况下,为用户提供主页按钮可通过减少他们返回应用程序启动所需的点击次数来改善用户体验。
在您的主页中:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
while (NavigationService.BackStack.Any())
NavigationService.RemoveBackEntry();
base.OnNavigatedTo(e);
}
这是允许的,但不推荐。作为一般规则,您应该依靠后退按钮进行导航以返回主页。
如果您确实想实现此行为,则应与熟悉手机的实际用户仔细测试。不要让不熟悉手机的用户使您的 UX 测试无效。您的实际用户将会并且期望您的应用程序遵循原生应用程序和几乎所有其他应用程序的约定。
如果您确实需要实现这一点,您可能需要使用非线性导航服务来正确管理后退按钮的行为。
我不认为这是不允许的,但是,这样做可能会导致导航循环,当他/她尝试使用后退按钮退出您的应用程序时会惹恼用户。
例如,假设一个应用程序有 3 个页面,A、B 和 C。假设页面 C 包含一个“主页”按钮,可以直接返回页面 A。所以你的导航堆栈最终可能看起来像这样:
A -> B -> C -> A -> B -> C -> A ....
这需要多次按下后退按钮才能让用户返回开始页面并退出应用程序。有几种方法可以避免这种情况,最明显的当然是不提供“主页”按钮。但是,如果您认为这是您的应用程序的必备功能,您可以
使用非线性导航服务管理循环导航
使用更简单的方法来维护全局标志,当用户按下主页按钮时设置此标志并调用NavigationService.GoBack()
. 覆盖OnNavigatedTo
每个页面上的方法,如果设置了此全局标志,则NavigationService.GoBack()
再次调用,直到您到达主页。
我相信只要后退按钮导航回到最后一个可见页面,它就被允许。