1.简单介绍Caliburn.Micro
Caliburn.Micro(以下简称CM) 根据它的官网(https://caliburnmicro.com/)介绍,是一个简洁的轻量级的MVVM开源框架,它是一套协助开发WPF、Silverlight、Windows RT等应用程序的库。
2.新建解决方案目录
接上一个文章,讲我们wpf程序改成MVVM框架,为了便于查看,增加两个文件夹分别用于存放View,ViewModel,同事删除默认启动文件MainWindow.xaml

3.新增启动文件Shell及其对应ViewModel

4.新增Bootstrapper文件
可通过CM官网文档进行改造启动文档或者直接参考github(https://github.com/Caliburn-Micro)下面的sample

Boostrapper继承BootstrapperBase,通过container请求ViewModel启动View,如下

4.配置Bootstrapper启动
之前删除MianWindow同时要删除之前的启动方式StartupUri

引用本地的bootstrapper
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary>
<local:Bootstrapper x:Key="Bootstrapper" />
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

5.运行测试
正常显示

6.做一个小测试,改造View/ViewModel显示一个文字
需要继承Screen,Screen就是用来表示UI部件的,可以通过GetView可以获得对应的View对象。因为Screen实现了很多功能,所以个人建议所有ViewModel都继承自Screen
新增一个文本显示


CM View TextBlock可以通过Name属性与ViewModel ShowHello进行绑定

构造方法中给ShowHello赋值,运行时显示在View中,最终显示如下

简单的CM框架的小程序就完成了
网友评论