在Silverlight中为Window Phone解决循环导航
文章信息
在Silverlight中为Window Phone解决循环导航
Contents |
介绍
本文介绍了Windows Silverlight 应用程序“循环导航问题”,并介绍了克服该问题的非线形导航服务库 介绍 在“标准”的Windows Phone Silverlight应用程序模型中,用户通过网页直线移动“前进”,然后可以使用“后退”按钮回到以前访问过的网页,并最终退出。 Windows手机导航历史记录保持所谓的“后堆”的“后进一先出”的结构。这一规定可以很容易地实现线性路径,通过导航页面的前进和后退。 然而,它是可以直接从任何页面导航到一个任意的URI,并且这可以导致导航到的URI是已经在后台堆栈中,制造了一个循环。这可能会形成导致最终用户困惑的导航。考虑到例如,如果用户可以导航到“Home”,而不是作为在下面所示的Petualangan Aksara di Tanah Jawa的游戏解除页堆栈:
用户希望退出比赛的时候,他们从主页按“back”键,但因为循环,他们将返回到先前导航“stage”页面。
要解决这个问题的一个解决方案是使用一个由Windows Phone Recipes开发的NonLinear Navigation Services库。如果它检测到您正在浏览的页面已经在后台堆栈中,这个库会自动解开任何循环
使用该库
使用这个库的步骤很简单:
1 下载文件:File:NonLinear-WP-SLApp-Navigation-Service.zip
2 添加NonLinearNavigationServices项目到已创建的解决方案中。
3 在继承应用程序类的类构造函数末尾初始化该服务。
NonLinearNavigationService.Instance.Initialize(RootFrame);
NonLinearNavigationService.Instance.Initialize(RootFrame);
总结
使用非线性导航服务,开发人员可以更轻松地开发应用程序,因为他们并不需要浪费了很多时间来思考管理的应用程序的导航。
祝你好运!
参考
Kiriaty, Yochay. 2010. Solving Circular Navigation in Windows Phone Silverlight Applications



(no comments yet)