天天看點

Caliburn.Micro 傑的入門教程1(翻譯)

Caliburn.Micro 傑的入門教程1(翻譯)

Caliburn.Micro 傑的入門教程2 了解Data Binding 和 Events(翻譯)

Caliburn.Micro 傑的入門教程3 事件和參數(翻譯)

Caliburn.Micro 傑的入門教程4 事件聚合器(翻譯)

Caliburn.Micro 傑的入門教程5 視窗管理器(翻譯)

Caliburn.Micro 傑的入門教程6 Screens 和 Conductors 簡介

 Caliburn.Micro項目位址:

http://caliburnmicro.codeplex.com (舊)

https://github.com/Caliburn-Micro/Caliburn.Micro

【原文位址】Mindscape's Getting Started Tutorial

http://www.mindscapehq.com/blog/index.php/2012/01/12/caliburn-micro-part-1-getting-started/

 備注:

Bootstrapper相關類和實作方式,在新版本有調整,繼承BootstrapperBase基類,并在構造方法調用InitializeComponent(),新版本教程文檔,請移步此處檢視我後來翻譯的文章。

Caliburn Micro Part 1: Getting Started

Step 1: Getting Started

Caliburn Micro 建立于 .NET framework 4.0 之上,是以需要在Visual Studio 2010中(或更高)建立應用程式,先要建立一個新的WPF應用程式并添加引用:【 Caliburn.Micro.dll 和 System.Windows.Interactivity.dll】,您可以從Caliburn Micro項目找到下載下傳。

如果使用的是Visual Studio,推薦做法是使用Nuget安裝Caliburn.Micro相關的包,如【Caliburn.Micro.Start】

在建立的WPF項目中,删除MainWindow.xaml項目檔案。(也就是建立項目自帶的主視窗)

在App.xaml項目檔案中,删除 StartupUri 節點特性,如下:

<Application x:Class="CaliburnMicroApp.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Application.Resources>
 
  </Application.Resources>
</Application>      

此步驟是為了将初始化視窗重建,準備指向Caliburn Micro,而不是WPF自定義的,後面會有轉移指向的步驟。

Step 2: The View Model

 Caliburn Micro優化了View-Model-First方式,下一步就是添加一個類來表示視圖模型了。大型應用程式可以有多個視圖模型,每一種都可以有不同的邏輯視圖。 下面是一個空視圖模型的代碼示例。 本教程是專注于簡單的開始将Caliburn Micro納入WPF應用程式中,我們現在暫時不讓視圖模型做什麼(保持最簡潔)。

using Caliburn.Micro;
 
namespace CaliburnMicroApp
{
  public class AppViewModel : PropertyChangedBase
  {
 
  }
}      

首先要注意的是類的名稱,Caliburn Micro預設有一個特定的命名約定,這樣就可以關聯比對的視圖和視圖模型。是以,一個視圖模型的類名應該以“ViewModel”結束,當然前面的名字就取決于你了。另一件要注意的是,這個類繼承于PropertyChangedBase。 這是Caliburn Micro提供的,用于自動屬性更改通知,是以我們不需要實作INotifyPropertyChanged。 盡管這個示例視圖模型不做任何事情,我已經繼承PropertyChangedBase并做好實作。 以後當給視圖模型添加屬性,将會派上用場。

Step 3: The View

為了顯示視窗,我們需要建立一個視圖,對應前面步驟中建立的視圖模型。 隻需要向項目添加一個新使用者控件,如下所示。 再次指出,Caliburn Micro預設有特定的命名約定,這樣就可以把視圖對應到适當的視圖模型。 視圖名稱應該與“View”結束并且開始部分要和對應的視圖模型使用相同的名稱。 對于我的例子,“AppView”視圖對應“AppViewModel”。 下面的代碼我也設定寬度,高度和網格背景,這樣當您運作這個應用程式您可以看到它是否正常工作。

<UserControl x:Class="CaliburnMicroApp.AppView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006">
  <Grid Width="300" Height="300" Background="LightBlue">
 
  </Grid>
</UserControl>      

Step 4: The Bootstrapper

引導程式的機制用于CaliburnMicro合并到您的應用程式。 它也是讓你可以為應用程式的需要,配置架構的地方。 對于本教程中,我使用了一個非常簡單的引導程式實作所示:

using Caliburn.Micro;
 
namespace CaliburnMicroApp
{
  public class AppBootstrapper : Bootstrapper<AppViewModel>
  {
  }
}      

CaliburnMicro有2個不同的bootstrappers可用。 上面使用允許設定你想要在啟動時使用的視圖模型的泛型類型。 最後一步就是告訴應用程式使用引導程式了。 是通過在xaml資源字典中添加你的引導程式做到的。 這樣做之後,xaml會現在看起來是這樣的:

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

現在,當您運作應用程式時,您将看到一個小視窗,一個淡藍色背景。 您的應用程式現在已經做好了CaliburnMicro最基礎的支援。

繼續閱讀