prism4学习笔记二:应用框架完成你的第一个prisam程序
来源:互联网 发布:linux informix 重启 编辑:程序博客网 时间:2024/05/21 08:40
在开始之前,我们还是先看一下prism创建程序的过程图,有道是一图胜千言:
看了终归会有点了解,但是如果从没有接触过那还是没有实际的概念。在这个时候千万不要去通读prism4.htm文件,先找到附录里面的动手实验,按着那个做一遍,大概13步:
——————————————————————————————————————————————————————
1.创建一个silverlight项目;
2.添加项目对Microsoft.Practices.Prism.dll/Microsoft.Practices.Prism.UnityExtensions.dll./Microsoft.Practices.Unity.Silverlight.dll/Microsoft.Practices.ServiceLocation.dll的引用
3.添加shell:就将系统默认的mainpage.xaml文件重命名为shell,记住.cs文件里面的类名一并修改了;
4.在shell.xaml中添加一个region:<itemcontrol name="mainregion" regions:regionmanager.regionname="mainregion"/>,region的xlm名称空间要先引用xmlns:Regions="http://www.codeplex.com/prism"
5.添加一个继承自unitybootstrapper的bootstrapper类,引入prism框架dll,覆写createshell,Initializeshell,Configuremodulecatalog;
using Microsoft.Practices.Prism.Modularity;
using Microsoft.Practices.Prism.UnityExtensions;
using Microsoft.Practices.Unity;
protected override DependencyObject CreateShell()
{
return Container.Resolve<Shell>();//用shell创建一个实例
}
protected override void InitializeShell()
{
base.InitializeShell();
Application.Current.RootVisual = (UIElement)this.Shell;//shell接管了主页面
}
protected override void ConfigureModuleCatalog()
{
base.ConfigureModuleCatalog();//将来总调度就在这里注册模块的
}
6.修改app.xaml,指向bootstrapper
private void Application_Startup(object sender, StartupEventArgs e)
{
Bootstrapper bootstrapper= new Bootstrapper();
bootstrapper.Run();
}
至此F5运行,我们可以看见一个空的页面,因为我们只创建了一个空的容器;还没有用module来实现一些功能;
7.继续创建一个新项目:silverlight类库,添加其对microsoft.practices.prism.modularity的引用;
8.将新项目中默认的class1.cs修改为你需要的类名,比如hellwowordmodule,并使之继承于imodule,同样需要引用using Microsoft.Practices.Prism.Modularity;最后还要添加一个空的Initialize方法;
9.按结构添加 views/services/controllers等文件夹,只是意思一下,你可以添加也可以不添加,只要你明白真正的含义就是了;
10.接下来将这个类库加载到应用程序,因为这个module是要被主程序调用的,在你的silverlight项目中添加对这个类库的引用;
11.最后翻过去改bootstripper的configuremodulecatalog方法,实现在实例中注册module,注册有好多方法,动态的、静态的、xml文件的、xaml文件的,先不管这些,闭着眼跟在说明书走;我们前一节举例剧场的时候,说到过运营部门,下面的这个注册就相当于签了几份合同:张学友演出、程冠希演出、....,然后登出了广告海报。
protected override void ConfigureModuleCatalog()
{
base.ConfigureModuleCatalog();
ModuleCatalog moduleCatalog = (ModuleCatalog)this.ModuleCatalog;
moduleCatalog.AddModule(typeof(HelloWorldModule.HelloWorldModule));
}
12.在views目录下添加一个silverlight控件,上面随便写点东西,比如:我是一只小小鸟。
13.打开类库中的hellwowordmodule.cs,添加一个构造函数,并在其Initiallize方法中使用RegisterViewWithRegion方法将helloworldview返回的内容注册到mainregion中;
using Microsoft.Practices.Prism.Regions;
private readonly IRegionManager regionManager;
public HelloWorldModule(IRegionManager regionManager)
{
this.regionManager = regionManager;
}
public void Initialize()
{
regionManager.RegisterViewWithRegion("MainRegion", typeof(Views.HelloWorldView));
}
————————————————————————————————————————————————————
最后运行程序我们可以看到结果:我是一只小小鸟。如果你鸟毛没见一根,就得回去一步一步检查你的程序了。
但凡只要你成功动手做一遍,基本上就了解使用prisma框架开发的流程和他的原理,剩下来的就是专研,每天诵读prism4.htm10遍,另外把压缩包中的那几个帮助文档看一遍,权当学习英语了。
手动实验做完后,我们就梳理一下这个实例,自己去总结出三大步:
1.如何实现Bootstrapper的接管和shell的加载,建造出一个影剧院(shell),并建立剧场(region);
2.如何通过Bootstarpper中重写InitializeModules方法加载Module:引入了各种演出剧目(module);
3.如何实现module中的view和region建立关系,也就是那个剧目在那个剧场演出?这个是在每个module中实现IModule接口的Initialize方法,在其中通过regionManager.RegisterViewWithRegion方法来完成region和module view的mapping关系。
- prism4学习笔记二:应用框架完成你的第一个prisam程序
- .prism4学习笔记二:应用框架完成你的第一个prisam程序
- prism4学习笔记二:应用框架完成你的第一个prisam程序
- Prism4学习笔记4:动手完成一个MVVM实例
- Spring学习(二):Hello Spring你的第一个Spring应用
- dwr3框架学习笔记–第一个dwr3程序sayhello
- NodeJS学习笔记整理(二)创建第一个应用
- 完成第一个程序
- Dive in Python学习笔记二:第一个Python程序
- Ogre学习笔记(二)创建第一个OGRE程序
- JAVA学习笔记总结(二): 第一个Java程序
- μc/GUI学习笔记之二第一个程序
- Box2d学习笔记二:第一个box2d程序
- php学习笔记二:第一个php程序 hello world!
- 你的第一个iOS应用(二) 入门指南
- Xcode学习笔记---如何使用Xcode中的storyboard构建你的第一个IOS应用
- 【FRDM-K64F学习笔记】使用ARM mbed和Keil MDK下载你的第一个程序
- 最简单的混合APP开发框架——搭建你的第一个Ionic应用(二)
- 二叉树的线索化
- 《软件开发者路线图 从学徒到高手》 - 书摘精要
- 嵌入式常见经典笔试题
- cmd命令行下查看utf8的编码文件
- 关于outlook2007导入导出邮件
- prism4学习笔记二:应用框架完成你的第一个prisam程序
- 我的卓越英语之路-第一天
- POJ Hangover
- asterisk E1线路挂断电话的原因
- SGU 253 计算几何 判定点是否在凸包内
- 云技术
- I/O口的集电极开路与推挽输出
- Java---JDK环境变量的配置
- VC代码整理