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最基础的支持。
Caliburn.Micro 杰的入门教程1(翻译)的更多相关文章
- Caliburn.Micro 杰的入门教程2 ,了解Data Binding 和 Events(翻译)
Caliburn.Micro 杰的入门教程1(翻译)Caliburn.Micro 杰的入门教程2 ,了解Data Binding 和 Events(翻译)Caliburn.Micro 杰的入门教程3, ...
- Caliburn.Micro 杰的入门教程6, Screens 和 Conductors 简介
Caliburn.Micro 杰的入门教程1(翻译)Caliburn.Micro 杰的入门教程2 ,了解Data Binding 和 Events(翻译)Caliburn.Micro 杰的入门教程3, ...
- Caliburn.Micro 杰的入门教程5,Window Manager 窗口管理器
Caliburn.Micro 杰的入门教程1(翻译)Caliburn.Micro 杰的入门教程2 ,了解Data Binding 和 Events(翻译)Caliburn.Micro 杰的入门教程3, ...
- Caliburn.Micro 杰的入门教程4,事件聚合器
Caliburn.Micro 杰的入门教程1(原创翻译)Caliburn.Micro 杰的入门教程2 ,了解Data Binding 和 Events(原创翻译)Caliburn.Micro 杰的入门 ...
- Caliburn.Micro 杰的入门教程3,事件和参数
Caliburn.Micro 杰的入门教程1(翻译)Caliburn.Micro 杰的入门教程2 ,了解Data Binding 和 Events(翻译)Caliburn.Micro 杰的入门教程3, ...
- Superset 官方入门教程中文翻译
本文翻译自 Superset 的官方文档:Toturial - Creating your first dashboard 最新版本的 Superset 界面与功能上与文档中提到的会有些许出入,以实际 ...
- Kubernetes tutorial - K8S 官方入门教程 中文翻译
官方教程,共 6 个小节.每一小节的第一部分是知识讲解,第二部分是在线测试环境的入口. kubectl 的命令手册 原文地址 1 创建集群 1.1 使用 Minikube 创建集群 Kubernete ...
- AFNnetworking快速教程,官方入门教程译
AFNnetworking快速教程,官方入门教程译 分类: IOS2013-12-15 20:29 12489人阅读 评论(5) 收藏 举报 afnetworkingjsonios入门教程快速教程 A ...
- WPF/MVVM Quick Start Tutorial - WPF/MVVM 快速入门教程 -原文,翻译及一点自己的补充
转载自 https://www.codeproject.com/articles/165368/wpf-mvvm-quick-start-tutorial WPF/MVVM Quick Start T ...
随机推荐
- ZT 或许你一辈子都是个小人物
或许你一辈子都是个小人物 分类: 程序人生 2013-06-04 22:39 483人阅读 评论(2) 收藏 举报 程序人生 本文摘自:http://www.nowamagic.net/library ...
- Java虚拟机3:内存溢出
1.前言 上一篇我们介绍了java的内存区域结构,这一篇,模拟内存溢出的几个场景,下面一个图是总体的指导思想: 2.Java堆溢出 Java堆唯一的作用就是存储对象实例,只要保证不断创建对象并且对象不 ...
- dba_tables、all_tables、user_tables
本文摘抄自:http://blog.csdn.net/daxiang12092205/article/details/42921063 dba_tables : 系统里所有的表的信息,需要DBA权限才 ...
- 简易log4j 父logger和子logger
log4j 父logger和子logger 定义子logger其目的就是能够在某一范围内(某一个class或者某一个package)下面,日志的输出方式与其他地方的日志输出方式不同. ...
- perl的一些小函数——split、join、sort
有时候,我们需要将一个字符串或一行文本通过某种方式转换为单个的元素存储在数组中,或者将许多元素通过某种分割符,将他们组合成一个字符串.perl刚好就提供了这样的功能,通过split或者join分割或组 ...
- Sublime Text 3中关闭记住上次打开的文件
使用UltraEdit的时候,每次安装后就得修改一堆配置,其中一项便是关闭“打开上一次未关闭的文件”,Sublime Text 2也有这么一个默认的功能,在实际使用中,这种方式确实可以较快速的访问文件 ...
- Search - Dictionary
Search III Your task is to write a program of a simple dictionary which implements the following ins ...
- redis make报错
解压redis后,第一次make出现报错: [root@localhost redis-3.2.5]# make cd src && make allmake[1]: Entering ...
- sqlserver事务怎么开启 怎么提交 怎么回滚
1.自动transaction每句statement都是一个transaction.例一个update指令更新多笔纪录, 要就全部成功, 只要失败,全部会回复原值. 2.ExplicitTransac ...
- SQL中对连表查询的建议
多表连查时,如果存在多个唯一键可以做关联,尽可能选择有意义的code或name,能不选择无意义的id或者uuid最好! 所以在存储的时候也是这样,并且从始至终保持一致性.这样既降低了维护和阅读的难度, ...