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最基础的支持。

 

posted @ 2013-12-01 17:30  三台  阅读(9582)  评论(0编辑  收藏  举报