[WPF] Caliburn Micro学习二 Infrastructure
2013-10-26 14:25
393 查看
Caliburn Micro学习一 Installation /article/9911082.html
Step 1. 无论是通过Package Manager Console添加Caliburn.Micro从nuget安装了对应的Package,还是手动在Project的Reference中添加Caliburn.Micro.dll。当这步完成后,对应的WPF Project已经可以通过
的方式来引用Caliburn.Micro的namespace;
Step 2. 修改Application的默认BootStrapper。
Step 2.1. 移除StartupUri。
理解这个概念之前,必须理清楚WPF Application是怎么被Load和启动的。一个简单的WPF Application的app.xaml通常如下定义:
关键之处在于StartupUri这个Attribute。该定义在XAML根节点上的Attribute直接导致System.Windows.Application这个基类会Load MainWindow(即主界面)对应的XAML,所以界面得以呈现。
Step 2.2 嵌入新的bootstrapper——创建一个新的bootstrapper class;并修改app.XAML加入bootstrapper。
首先理解bootstrapper的概念。MSDN上的文档 http://msdn.microsoft.com/en-us/library/ff921139.aspx
Caliburn.Micro定义了一个Generic的class BootStrapper:
修改app.xaml如下:
Step 3. 实现MainViewModel和MainView
顾名思义,MainViewModel和MainView真是MVVM中的VM和V的实体。前者,通常要求派生与PropertyChangedBase:
而MainView则是WPF Application Wizard自动创建。Caliburn.Micro框架会自动对MainView和MainViewModel进行绑定,也就是说,在MainView的Control上可以直接绑定MainViewModel中的Property。
更详细的Caliburn.Micro的文档: http://caliburnmicro.codeplex.com/wikipage?title=Customizing%20The%20Bootstrapper&referringTitle=Documentation
Step 1. 无论是通过Package Manager Console添加Caliburn.Micro从nuget安装了对应的Package,还是手动在Project的Reference中添加Caliburn.Micro.dll。当这步完成后,对应的WPF Project已经可以通过
using Caliburn.Micro;
的方式来引用Caliburn.Micro的namespace;
Step 2. 修改Application的默认BootStrapper。
Step 2.1. 移除StartupUri。
理解这个概念之前,必须理清楚WPF Application是怎么被Load和启动的。一个简单的WPF Application的app.xaml通常如下定义:
<Application x:Class="WpfApplication1.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" StartupUri="MainWindow.xaml"> <Application.Resources> </Application.Resources> </Application>
关键之处在于StartupUri这个Attribute。该定义在XAML根节点上的Attribute直接导致System.Windows.Application这个基类会Load MainWindow(即主界面)对应的XAML,所以界面得以呈现。
Step 2.2 嵌入新的bootstrapper——创建一个新的bootstrapper class;并修改app.XAML加入bootstrapper。
首先理解bootstrapper的概念。MSDN上的文档 http://msdn.microsoft.com/en-us/library/ff921139.aspx
Caliburn.Micro定义了一个Generic的class BootStrapper:
using Caliburn.Micro; namespace CaliburnMicroApp { public class AppBootstrapper : Bootstrapper<MainViewModel> { } }
修改app.xaml如下:
<Application x:Class="WpfApplication1.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>
Step 3. 实现MainViewModel和MainView
顾名思义,MainViewModel和MainView真是MVVM中的VM和V的实体。前者,通常要求派生与PropertyChangedBase:
[Export(typeof(MainViewModel))] public class MainViewModel : PropertyChangedBase { /* Content */ }
而MainView则是WPF Application Wizard自动创建。Caliburn.Micro框架会自动对MainView和MainViewModel进行绑定,也就是说,在MainView的Control上可以直接绑定MainViewModel中的Property。
更详细的Caliburn.Micro的文档: http://caliburnmicro.codeplex.com/wikipage?title=Customizing%20The%20Bootstrapper&referringTitle=Documentation
相关文章推荐
- [WPF] Caliburn Micro学习一 Installation
- [WPF] Caliburn Micro学习三 Binding
- WPF MVVM(Caliburn.Micro) 数据验证
- 使用Caliburn.Micro创建简单的WPF程序
- Caliburn micro 学习笔记...
- WPF Caliburn 学习笔记(二)Command
- WPF Caliburn 学习笔记(三)Application Model
- Caliburn.Micro学习笔记目录
- WPF Caliburn 学习笔记(四) Message Triggers
- WPF 使用Caliburn.Micro 多线程打开窗口
- Caliburn.Micro with WPF TabControl
- WPF Caliburn 学习笔记(五)HelloCaliburn
- WPF Caliburn.Micro ListView 批量删除 新方法.高效的
- WPF + Caliburn.Micro +ActionMessage事件绑定
- WPF Caliburn 学习笔记(一)Action 续
- WPF Caliburn 学习笔记(二)Command(2)
- WPF +MVVM(Caliburn.Micro)项目框架
- WPF Caliburn 学习笔记(一) Action
- Using Caliburn.Micro (version 2) for WPF development
- 黑马程序员---wpf学习笔记四---banding的那些事