Prism 源码解读1-Bootstrapper和Region的创建 (2)

1585473149592

看到这两个类是不是有一种恍然大悟的感觉,原来Bootstrapper是啥?就是将PrismApplicationBase中的方法全部从Application中抽出来,在这重新实现了一下,难道这就是单一职责原则?

来看一下Run,这些方法太熟悉了吧。

1585473531825

日志怎么用,当然是创建然后记录了,所有的信息都放到资源里,创建的方式有很多种,选择最简单的一种new,

1585473705313

2、Regions

这个就是简单的创建一个Region

1585473969090

一目了然啊,就是在ContentControl中用RegionManager的依赖属性创建的一个Region。

用经典的三个问题来看看RegionManager,你是谁,你从哪里来,要到哪里去。

1585474161899

哦!小伙子你很张狂啊,很强大。看一眼把关了就可以了。

看一眼知道了有一个RegionName依赖属性,当这个属性变化的时候调用

1585474975966

IsInDesignMode就是判断是否在VS的设计模式,调用

1585475107593

哦,还是用了延迟加载,还是用容器创建的,Prism里几乎所有的类都是通过容器创建的

1585475296411

Behavior?WPF里面的行为就是服务啊,就是先把一个依赖属性存着,需要的时候盘它。去看看

1585475415828

很标准的服务。

1585475467136

使用了弱引用,很棒的设计,想想也是如此,

1585475585421

1585475621940

通过Load事件实现延迟加载,嗯,很棒,在界面载入的时候创建Region。

1585475679204

1585475701564

载入触发一次就好。很喜欢这个单词WireUp,缠绕,UnWire,

1585475877997

1585476017158

通过名字创建,到RegionAdapterMapping中找到RegionAdapter然后通过Adapter的Initialize创建。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzzxjz.html