2011年4月20日
正文内容加载中...
posted @ 2011-04-20 22:20 Jason Li 阅读(7182) 评论(8) 推荐(4) 编辑
  2011年2月10日
摘要:在Prism之Region(1)中,介绍了一些Prism中页面组织以及切换的方式。这一篇将以一个很简单的示例程序来实践一下。源码下载下面是效果图:先说Log,Prism内置了ILogFacade接口,在Prism提供的QuickStart项目里的Modularity中,有一个CallbackLogger,这里我们直接拿过来使用。然后在PrismRegionShell中放一个TextBox,将log的内容显示在这个TextBox中。值得一提的是,为了让输出新log的直接显示出来,需要将TextBox的滚动条滚动到最下面。这里采用的是如下方法:然后说一下左边的导航区。这里放置了一个ItemsCon 阅读全文
posted @ 2011-02-10 13:25 Jason Li 阅读(6658) 评论(6) 推荐(6) 编辑
  2011年1月31日
摘要:Prism可以帮助我们开发模块化程序,将程序分割成一个个独立的Module,分别进行开发。然后在程序运行的时候,将各个Module组合到一起,为程序提供各种各样的功能。通常来说,Module是一些视图和功能的集合,那么就需要一种办法来将这些视图以某种形式,在特定的时间展现出来。Prism通过Shell + Region来组织视图的布局,完成视图间的转换等。如上图所示,Shell相当于ASP.NET中的母版页,它定义了页面的布局、主题等。其中的导航区和内容区是预留出来的需要进行填充内容的部分,也就是Region,起到占位符的作用,程序会在运行时动态地向Region中填充内容。那么如何将一个区域定 阅读全文
posted @ 2011-01-31 11:20 Jason Li 阅读(12275) 评论(7) 推荐(10) 编辑
  2011年1月20日
摘要:Prism的核心功能之一就是支持模块化应用程序开发(Modular Application Development),并且在运行时对各个模块进行动态管理。使用Prism进行模块化开发首先要了解几个概念:1.Module: Module是一些逻辑上相关的程序集或者资源文件的集合,在Silverlight程序中通常以xap文件为单位存在。而每一个Module中都需要有一个负责进行初始化工作以及与系统进行集成的角色,它需要实现IModule接口。IModule接口中只有一个Initialize方法,一方面这个接口将这个工程标记为一个Module,另一方面你可以在Initialize方法中实现一些逻辑 阅读全文
posted @ 2011-01-20 14:04 Jason Li 阅读(10386) 评论(9) 推荐(8) 编辑
  2011年1月18日
摘要:在程序中使用框架必然要有一个切入点,框架会在这里进行初始化,处理相关配置信息等。在Prism中扮演这一角色的就是Bootstrapper。 Prism提供了一个抽象基类Bootstrapper,这个类里面包含了包含了许多空的虚方法,可以重写它们添加自己的逻辑。这个基类与任何容器无关,所以可以通过继承它来实现基于特定容器的Bootstrapper,不过通常我们大可不必这样做,因为Prism默认提供了两个基于特定容器的Bootstrapper——UnityBootstrapper和MefBootstrapper,分别使用Unity和Mef来实现依赖注入。而我们需要做的工作就是在这两个类之间选择一个 阅读全文
posted @ 2011-01-18 09:56 Jason Li 阅读(11468) 评论(2) 推荐(6) 编辑
  2011年1月13日
摘要:Prism是由微软Patterns & Practices团队开发的项目,目的在于帮助开发人员构建松散耦合的、更灵活、更易于维护并且更易于测试的WPF应用或是Silverlight应用以及Windows Phone 7应用。使用Prism可以使程序开发更趋于模块化,整个项目将由多个离散的、松耦合的模块组成,而各个模块又可以又不同的开发者或团队进行开发、测试和部署。目前Prism的最新版本是Prism 4,于2010年11月12日发布。Prism有很完整的文档以及丰富的示例程序。在这里我们仅针对于Silverlight程序的开发。在下载Prism安装包并安装完成后,会在目标文件夹中发现很多文件。 阅读全文
posted @ 2011-01-13 15:01 Jason Li 阅读(41870) 评论(52) 推荐(22) 编辑