首页 > 其他 > 详细

Prism 源码解读7-导航

时间:2020-04-27 00:34:48      阅读:104      评论:0      收藏:0      [点我收藏+]
原文:Prism 源码解读7-导航

 


介绍

Prism提供了一个非常强大的功能导航,导航的意思就是指定对应的View显示。这个导航的强大之处有:

  • 可以设置导航前后的动作
  • 可以指定View实例的生命周期,可以是否导航到新的View实例
  • 提供了确认导航接口。

技术分享图片

  • 导航前后均有相应的事件通知
  • 提供了回退前进的导航功能

导航

直接看代码

技术分享图片

技术分享图片

可以看到直接通过RequstNavigate来请求,参数是View的TypeName

技术分享图片

转到了Region.RequestNavigate里

技术分享图片

这边出现了NavigationService,几乎所有的导航功能都是在这个服务中实现的,

技术分享图片

技术分享图片

技术分享图片

这边将导航的一些信息封装成NavigationContext,

技术分享图片

在这出现了第一个功能,实现ICon‘firm‘NavigationRequest接口,确认导航。

最后来到了最重要的函数ExecuteNavigation

技术分享图片

这个函数每一行都很重要,每一行都是一个功能。

技术分享图片

调用OnNavigateFrom,可以在导航前做一些操作

技术分享图片

获取导航内容,先从Region的View中找,没找到就到容器中找,然后添加到Region的View。

技术分享图片

激活界面

创建条目,保存条目,主要用来进行前进后退

触发导航完成事件。

整个导航功能的顺序:

技术分享图片

总结

Prism提供的这个导航功能非常强大,但是代码却不复杂,通过一些简单的接口,实现了非常强大的功能。

Prism 源码解读7-导航

原文:https://www.cnblogs.com/lonelyxmas/p/12783729.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!