准备使用Caliburn.Micro结合MEF写一个类似于VS2010的IDE框架,支持插件开发,Menu、Toolbar等的可配置性,还有一些功能如:Option,多语言,换肤等。一方面作为技术沉淀,一方面也可以为新入WPF或者对Caliburn.Micro感兴趣的朋友们做一个指导。

  没想到什么太好的名字,项目起名为Illusion,希望不是个幻觉,Illusion = Caliburn.Micro + MEF。 项目的出发点也不复杂,主要想使用MEF来做插件开发,通过DirectoryCatalog来做插件检查,使用Export/Import构建Menu,Toolbar等。Caliburn.Micro是一个开源框架,框架基于MVVM模式,代码简洁而不简单,是企业级项目开发的一把利器。

实现

  工程目录如下:

Illusion = Caliburn.Micro + MEF

  Illusion工程是核心的框架(Framework),Illusion.Demo是使用Illusion的EXE工程,AddIns文件夹下下有一些插件工程,项目使用了开源比较成熟的AvalonDock做停靠窗口。

  运行起来的程序:

Illusion = Caliburn.Micro + MEF

  项目提出了两个概念:Part,Screen。如上图所示,Menu和Toolbar的子项称为Part,停靠的窗口Project等称为Screen。

配置

  添加Menu的代码如下:

1: [MenuPart(BaseMenu = WorkbenchName.WindowPart, PreviousMenu = WorkbenchName.CloseDocumentsPart)]
   2: public class ResetLayoutPart : MenuPart
   3: {
   4:     public ResetLayoutPart()
   5:         : base(WorkbenchName.ResetLayoutPart)
   6:     {



    
   8:     }
   9:  
  10:     public override void Execute()
  11:     {
  12:         base.Execute();
  13:     }
  14: }

相关文章: