1.簡單介紹Caliburn.Micro
Caliburn.Micro(以下簡稱CM) 根據(jù)它的官網(wǎng)(https://caliburnmicro.com/)介紹萍桌,是一個簡潔的輕量級的MVVM開源框架姆打,它是一套協(xié)助開發(fā)WPF容客、Silverlight冀泻、Windows RT等應(yīng)用程序的庫桃序。
2.新建解決方案目錄
接上一個文章,講我們wpf程序改成MVVM框架溯职,為了便于查看精盅,增加兩個文件夾分別用于存放View,ViewModel,同事刪除默認(rèn)啟動文件MainWindow.xaml
3.新增啟動文件Shell及其對應(yīng)ViewModel
4.新增Bootstrapper文件
可通過CM官網(wǎng)文檔進(jìn)行改造啟動文檔或者直接參考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可以獲得對應(yīng)的View對象叹俏。因為Screen實現(xiàn)了很多功能,所以個人建議所有ViewModel都繼承自Screen
新增一個文本顯示
CM View TextBlock可以通過Name屬性與ViewModel ShowHello進(jìn)行綁定
構(gòu)造方法中給ShowHello賦值,運行時顯示在View中僻族,最終顯示如下
簡單的CM框架的小程序就完成了