当前章节,沿用 上一章使用Prism 框架创建的WPF 项目空模板。在上一章节,各个不同的模块之间能够进行切换并把内容呈现在主程序的页面当中(其实是通过在主程序中注册的区域去发起一个导航的请求,然后跳转到对应的视图。也就是实现了导航跳转功能)。
为什么能实现导航的跳转?是因为各个不同的模块中在重写的 RegisterTypes 方法 里通过 IContainerRegistry 容器 进行了页面视图导航的注册。接下来,深入了解 Prism 中导航功能的各种用法:导航注册,导航传参,导航拦截,导航日志等功能。
1. 导航注册功能
在ModuleA (模块A)当中,如果我们想要 ViewA.xaml 这个页面支持导航跳转,那么就需要在 IContainerRegistry 这个容器当中通过 RegisterForNavigation 去注册这个 页面视图导航功能。
那么,在注册视图导航的时候,例如:ViewA。怎么样去让这个View(视图)去自动匹配对应的 ViewModel(视图业务逻辑处理)?可以通过2种方式,1.设置自动匹配功能;2.直接在 RegisterForNavigation 注册的时候,直接手动指定对应的ViewModel