在Prism中,一个非常普遍的方法是把各个不同的Business模块化,用Module的机制可以很好的解决这个问题。

Module支持即时加载.

   /// <summary>/// A module for the quickstart./// </summary>[ModuleExport(typeof(ModuleD))]public class ModuleD : IModule{private readonly IModuleTracker moduleTracker;/// <summary>/// Initializes a new instance of the <see cref="ModuleD"/> class./// </summary>/// <param name="moduleTracker">The module tracker.</param>
        [ImportingConstructor]public ModuleD(IModuleTracker moduleTracker){if (moduleTracker == null){throw new ArgumentNullException("moduleTracker");}this.moduleTracker = moduleTracker;this.moduleTracker.RecordModuleConstructed(WellKnownModuleNames.ModuleD);}/// <summary>/// Notifies the module that it has be initialized./// </summary>public void Initialize(){this.moduleTracker.RecordModuleInitialized(WellKnownModuleNames.ModuleD);}}

顺便说一下Data Trigger:

 <i:Interaction.Triggers><!-- DataTriggers only work when the dependency property value changes. --><!-- For the quickstart, some modules may initialize before the UI data-binds. --><!-- To accomodate this, the data triggers below bind to a hidden control value that is bound late enough. --><ei:DataTrigger Binding="{Binding ElementName=ModuleStatusTextBlock, Path=Text}" Value="NotStarted"><ei:ChangePropertyAction PropertyName="Background" TargetObject="{Binding RelativeSource={RelativeSource TemplatedParent}}"Value="{StaticResource ModuleControl.NotStarted.BackgroundBrush-Simple}"/><ei:ChangePropertyAction PropertyName="Foreground" TargetObject="{Binding RelativeSource={RelativeSource TemplatedParent}}"Value="{StaticResource ModuleControl.NotStarted.ForegroundBrush-Simple}"/><ei:ChangePropertyAction PropertyName="BorderBrush"TargetObject="{Binding RelativeSource={RelativeSource TemplatedParent}}"Value="{StaticResource ModuleControl.NotStarted.BorderBrush-Simple}"/><ei:ChangePropertyAction PropertyName="FontSize" TargetObject="{Binding RelativeSource={RelativeSource TemplatedParent}}" Value="12"/></ei:DataTrigger>

下载地址:ModularityWithMef

转载于:https://www.cnblogs.com/shanghaijimzhou/archive/2013/03/31/2992386.html

第527篇-Prism学习系列3_Modularity相关推荐

  1. foucus 冒泡_Knockoutjs 学习系列(二)花式捆绑

    在上一篇Knockoutjs 学习系列(一)ko初体验文章中提到,ko中的 data-bind = "XX:OO"绑定大法除了可以绑定text.value等内容,还可以绑定visi ...

  2. XCZU15EG学习资料保存第527篇:基于3U VPX XCZU15EG+TMS320C6678的信号处理板

    XCZU15EG学习资料保存第527篇:基于3U VPX XCZU15EG+TMS320C6678的信号处理板 一.板卡概述 本板卡系我司自主研发的基于3U VPX风冷.导冷架构的信号处理板,适用于高 ...

  3. OpenCV学习系列教程第五篇:测试和提高代码的效率

    Opencv-Python学习系列教程第五篇 来自opencv-python官方学习文档,本人谨做翻译和注释,以及一些自己的理解 本文由作者翻译并进行代码验证,转载请注明出处~ 官方文档请参阅:htt ...

  4. sharepoint 2016 学习系列篇(4)-如何部署sharepoint server 2016(3)-Sharepoint服务器安装和部署

    在前面,我们部署了数据库服务器,sharepoint 2016 学习系列篇(3)-如何部署sharepoint server 2016(2)-数据库服务器安装和部署 接下来是部署sharepoint服 ...

  5. sharepoint 2016 学习系列篇(23)-文档库应用篇-(5)文档权限配置

    学习了关于文档的上传,下载,以及属性标签的应用,朋友们估计也会想到,前面学习到了关于列表的数据权限配置, sharepoint 2016 学习系列篇(15)-自定义列表应用篇-(4)数据权限配置 那么 ...

  6. sharepoint 2016 学习系列篇(24)-文档库应用篇-(6)文档版本控制

    学习到这里,相信朋友们,应该是对文档库有了大概的认识.回顾一下,前面学习了一个 sharepoint 2016 学习系列篇(17)-自定义列表应用篇-(6)开启列表数据版本控制 那么对于文档来说,文档 ...

  7. sharepoint 2016 学习系列篇(3)-如何部署sharepoint server 2016(2)-数据库服务器安装和部署

    在前面,我们部署了Active Directory域服务器,sharepoint 2016 学习系列篇(2)-如何部署sharepoint server 2016(1)-AD域服务器安装和部署 接下来 ...

  8. sharepoint 2016 学习系列篇(15)-自定义列表应用篇-(4)数据权限配置

    当数据已经录入到列表中之后,接下来,朋友们可能会想知道,有些数据,只想给某些用户看到,或者编辑,列表是否支持这样的操作. 大微软的sharepoint平台,对于用户的需求,可以说是考虑得很周全的,权限 ...

  9. [Unity 学习] - 进阶篇 - Mesh基础系列1:生成网格

    [Unity 学习] - 进阶篇 - Mesh基础系列1:生成网格 本文并非原创,只是本人的学习记录,原文是由放牛的星星老师翻译Catlike系列教程 链接: https://mp.weixin.qq ...

最新文章

  1. python print换行_聊聊 print 的前世今生
  2. Scala Akka网络编程:Client Server网络通信(你问我答)案例
  3. 手写自己的MyBatis框架-V2.0 可优化之处
  4. Apache、Nginx、Tomcat的区别
  5. Java面向对象(20)--接口
  6. spring配置dataSource:DriverManagerDataSource
  7. 分类算法之朴素贝叶斯算法
  8. 如何:使用 DataAnnotations 特性验证模型数据+MetadataType的使用,MVC的Model层数据验证 指定要与数据模型类关联的元数据类
  9. 201671010426 孙锦喆 实验二词频统计软件项目报告
  10. linux系统怎么拨号上网,在linux中如何拨号上网?
  11. web -- 背景图片及文字
  12. 金融大数据革命-eXtremeDB金融数据库-列数据库
  13. CGB2104-Day17
  14. [Scrapy使用技巧] 如何在scrapy中捕获并处理各种异常
  15. 二十八、动词不定式 2 做表语、宾语、后置定语、状语
  16. VMware ESXi 7.0 Update 3k - 领先的裸机 Hypervisor (sysin Custom Image)
  17. 分享一个蓝月传奇手游辅助脚本,想回味传奇游戏又不想费太多时间练级的可以试试
  18. BarTender 打印机的控制详解
  19. mybatis中 查询两张表,结果如果用resultMap接收,当两张表字段有重复的时候,如果不对字段加以区分,resultMap出来的值是空的
  20. 【Unity3D 官方移动游戏优化指南】2.性能分析

热门文章

  1. 算法训练Day24 | 回溯算法理论基础;LeetCode77.组合(经典的回溯问题)
  2. 百度地图Web API Python模块
  3. 文科生学python简书_文科生Python教程(一)
  4. 计算机专业支教,【计算机】梦缘·夏季支教志愿招募
  5. 从零开始学USB(一、基础知识1)
  6. java uuid 类型_什么是UUID,Java中怎么产生UUID?
  7. 接口管理平台 - APIPOST和APIfox使用 - PUSDN
  8. Win10计算机窗口空白,windows10语言栏丢失怎么办?win10语言栏显示空白的解决办法...
  9. Photoshop设计精讲精练笔记
  10. h1z1最新消息服务器,h1z1服务器在哪 | 手游网游页游攻略大全