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 ...
随机推荐
- SAPGUI系统登录页面配置的SAProuter有什么用
大家在安装完SAPGUI后,准备添加系统列表进行登录时,注意过这个SAProuter字段么? 从SAP的帮助文档上可以找到SAProuter的定义: https://help.sap.com/saph ...
- oracle中PLSQL存储过程中如何使用逗号分隔的集合(逗号分隔字符串转换为一个集合)
原文: https://blogs.oracle.com/aramamoo/entry/how_to_split_comma_separated_string_and_pass_to_in_claus ...
- codeforces 814E An unavoidable detour for home
题目链接 正解:$dp$. 感觉这道题就是中国象棋的加强版..我们要发现一些性质. 首先就是这个图肯定是一个按照$bfs$序分层的图,且每个点只往自己上面那一层连了一条边,每个点不可能向自己的上面超过 ...
- Yii 不完全解决方案(一)
此文意在记录 Yii 开发过程中的小问题解决方案 1. Yii 中 Js 和 Css 文件的引入. 我们就从最简单的问题开始吧,说起来也不是问题,只是语法罢了.假设我们的 js 文件都放在和 prot ...
- BZOJ2431:[HAOI2009]逆序对数列(DP,差分)
Description 对于一个数列{ai},如果有i<j且ai>aj,那么我们称ai与aj为一对逆序对数.若对于任意一个由1~n自然数组成的 数列,可以很容易求出有多少个逆序对数.那么逆 ...
- 6.spring:AOP(注解)
spring Aop AOP面向切面编程,与OOP面向对象编程相辅相成 AOP中最基本的单元是切面 问题: 代码混乱:越来越多的业务需求(日志&验证)加入后,原有的业务方法急剧膨胀,每个方法 ...
- 【SQLSERVER学习笔记】细节记录
SQLSERVER 查询时,WHERE中使用<>时,不会把NULL值查出来. SQLSERVER子查询中不能使用 ORDER BY. SQLSERVER 使用DISTINCT时,必须把OR ...
- 如何在Mac中创建MiniKube
转载请标明出处: http://blog.csdn.net/forezp/article/details/82563153 本文出自方志朋的博客 这篇文章介绍了如何在Mac系统中创建MiniKube. ...
- jQuery 遍历 - children() 方法 获取指定id下子元素的值
<a id="Aobj_2_2" class="" specid="2" specvid="2" href=&qu ...
- 第一个electron
1 开发环境:node环境 2 下载electron:npm install electron --save-dev 3 package.json配置如下: { "name": & ...