
NavigationService.Navigate(new Uri("/MyPage.xaml",UriKind.relative)) 如果MyPage丢失,则在运行时失败.
如果有一种方法支持将PhoneApplicationPage作为参数传递,例如
NavigationService.Navigate(new MyPage());
可以在编译时捕获与导航相关的错误.
为什么这不是Silverlight / WP7中的固有设计?
解决方法 此导航模型继承自桌面上的Silverlight(以及之前的WPF).需要注意的是:这不是基于字符串的模型,而是基于URI的模型.这里的区别是关键:我们不是在谈论指向某个XAML的任意字符串,我们讨论的是应用程序中的页面资源的通用定位器.通过这种方式处理导航,您的应用程序实际上有多个入口点 – 应用程序中的任何URI都可以是有效的入口点.通过基于URI的导航,您可以确保应用程序的“状态”与您正在查看的内容相关,可以在任何时间从任何方向进行序列化,访问等.例如,想象一下,您要在应用程序中打开的网页(或电子邮件或其他任何地方)上有链接.单击该链接,因为URI完全描述了应用程序应显示的资源(例如,目录中的项目,搜索过滤器等),您可以直接跳转到它(a.k.a.深层链接).这不是在windows Phone 7上实现的(至少不是来自其他应用程序,但它实际上是后退按钮等的工作方式),但该模型直接来自桌面上的Silverlight(导航框架位于Silverlight SDK中),你可以看到他们将来可能会在windows Phone上使用它.
同样,URI的强大之处在于它的普遍性 – 它是识别资源的常用方法.没有它,你就会陷入想要导航到你的应用程序和应用程序本身的任何东西的紧密耦合.
总结以上是内存溢出为你收集整理的wpf – 为什么Silverlight / WP7上的NavigationService使用字符串而不是类?全部内容,希望文章能够帮你解决wpf – 为什么Silverlight / WP7上的NavigationService使用字符串而不是类?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)