伴随着prism框架的使用, 区域region的使用是避免不了的(其实可以不用region,自用做控件代码导航,那这样prism框架的这一大特性就让费掉了)。
但是各位有没有发现,一般region使用demo中都是只有在主窗体使用,但是实际使用复杂多样的, 不光在主窗体, 我们弹出的窗体;或者登录后再弹出的窗体,都是有区域region的使用需求的。
然后我们按照先登录,然后再弹主窗体的方式来使用,你就会发现当你跳转主窗体的时候会发现,region好像失效了。region导航完全失效,debug后发现regionManager里面是空的。
那么这究竟是怎么回事呢?
我们来看一下,prism的模板项目?
首先,regionName他是在主窗体中。
其次,启动后默认导航是在OnInitialized,后期验证在默认导航也是可以加载窗体的load事件中的。
好的,现在我们猜测一下,region导航生效是在,主窗体实例加载完后(region注册后)。这也就证明了为什么除了主窗体,后续其他打开的窗体region是无效的&#