Caliburn.Micro - 框架搭建


簡介:Caliburn.Micro是Caliburn的一個輕量級版本開源架構,可以用於wpf,sliverlight,wp7等,和注重模塊化的Prism比起來也有許多優點,具體比較可以參考

此文 https://idanreuven.wordpress.com/2016/01/08/prism-vs-caliburn-micro/,本人用過Prism,所以想學習下這個架構,看看是否更方便開發。

它的功能介紹參考官方文檔吧,我也少廢話,直接以實例開始入門吧。

 

首先新建一個Wpf工程CaliburnTest,Targe framework 至少要選4.5版本

 

1、使用nuget 安裝Caliburn.Micro類庫

 

2、刪除MainWindow.xaml 並且刪除App.xaml的  StartupUri="MainWindow.xaml"

 

3、新建一個ViewModel類,命名為ShellViewModel 

public class ShellViewModel 
{

}

 

 

3、新建一個Bootstrapper類,繼承BootstrapperBase

public class Bootstrapper: BootstrapperBase {
public Bootstrapper()
{
Initialize(); 
}

protected override void OnStartup(object sender, StartupEventArgs e) {
DisplayRootViewFor<ShellViewModel>();
}
}

 

重寫OnStartup方法,使用 DisplayRootViewFor<ShellViewModel>();指定啟動的ViewModel,Caliburn.Micro可以根據xxxxViewModel對應xxxxView的協定,自動實例化View,Caliburn.Micro支持View First和ViewModel First兩種方式來創建View。完全不用在View的后台代碼中寫DataContext=new xxxViewModel()代碼,十分方便。

4、創建視圖 ShellView,注意要按照上述的協定來命名

 

<Window x:Class="CaliburnTest.ShellView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ShellView" >
<Grid>
<TextBlock>dddd</TextBlock>
</Grid>
</Window>

 

5 修改App.xaml ,加入如下紅色代碼,注意wpf中和sliverlight中,此處的寫法是有區別的,官網給出的是sliverlight的寫法

<Application x:Class="CaliburnTest.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:CaliburnTest">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary>
<local:Bootstrapper x:Key="bootstrapper" />
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>

運行測試就可以看到窗體啟動了。這篇就到此為止,只講講如何搭建框架,下一篇再學習binding,Action的協定

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM