prism4学习笔记二:应用框架完成你的第一个prisam程序

prism4学习笔记二:应用框架完成你的第一个prisam程序,第1张

概述   在开始之前,我们还是先看一下prism创建程序的过程图,有道是一图胜千言:    看了终归会有点了解,但是如果从没有接触过那还是没有实际的概念。在这个时候千万不要去通读prism4.htm文件,先找到附录里面的动手实验,按着那个做一遍,大概13步: —————————————————————————————————————————————————————— 1.创建一个silverlig 

  在开始之前,我们还是先看一下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程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1013568.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存