AvalonDock 2.0+Caliburn.Micro+MahApps.Metro实现Metro风格插件式系统(二)
2013-06-26 20:39
495 查看
上次已经建立了可运行的基本框架,这篇就说说怎么把我们自定义的View自动加载并添加到AvalonDock里面,AvalonDock里有3种类型的UI部件,Document, DockableContent以及Floting类型,我主要说一下Document,DockableContent的添加,在AvalonDock里Document类型可参考VS,DockableContent相当于VS里的工具栏等,之后我直接在.cs文件里写注释以及解析。
现在的项目结构:
MefBootstrapper
AvalonDock还支持其他几种皮肤,可以满足大众的需求:
AeroTheme
ExpressionLightTheme
ExpressionDarkTheme
VS2010Theme
DockableContent类型的实现和Document实现是一样的,只是实现的接口不同,DockableContent实现的是IDockableContent接口,具体请参考Document实现,有疑问的可以提出来,尽量帮助解决,解释写得略简单不好意思,但是有源码参考,如果源码对大家有帮助的话,求个推荐,回复或粉的神马的都好。。。
源码地址:
http://pan.baidu.com/share/link?shareid=819683340&uk=554439928
如果您看了本篇博客,觉得对您有所收获,请点击右下角的 [推荐]
如果您想转载本博客,请注明出处
如果您对本文有意见或者建议,欢迎留言
感谢您的阅读,请关注我的后续博客
作者:Zengg 出处:http://www.cnblogs.com/01codeworld/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
现在的项目结构:
protected override void Configure() { /*CompositionContainer 对象在应用程序中有两种的主要用途。首先,它跟踪哪些部分可用于组合、它们的依赖项,并且充当任何指定组合的上下文。其次,它提供了应用程序可以启动组合的方法、获取组合部件的实例,或填充可组合部件的依存关系。 部件可直接用于容器,或通过 Catalog 属性来用于容器。在此 ComposablePartCatalog 中可发现的所有部件都可以供容器来满足导入,还包括直接添加的任何部件。*/ //container = new CompositionContainer( // new AggregateCatalog(AssemblySource.Instance.Select(x => new AssemblyCatalog(x))) // ); var catalog = new AggregateCatalog( AssemblySource.Instance.Select(x => new AssemblyCatalog(x)).OfType<ComposablePartCatalog>() ); container = new CompositionContainer(catalog); var batch = new CompositionBatch(); var dockScreenManage = new DockScreenManager(); batch.AddExportedValue<IWindowManager>(new WindowManager());//將指定的导出加入至 CompositionBatch 物件 batch.AddExportedValue<IEventAggregator>(new EventAggregator()); batch.AddExportedValue<IDockScreenManager>(dockScreenManage); batch.AddExportedValue(container); batch.AddExportedValue(catalog); container.Compose(batch);//在容器上执行组合,包括指定的 CompositionBatch 中的更改 container.ComposeParts(container.GetExportedValue<IDockScreenManager>());//由于DockScreenManager里有标记为Import的字段,所以要在MEF容器里组装把指定的部件导入 }
MefBootstrapper
AvalonDock还支持其他几种皮肤,可以满足大众的需求:
AeroTheme
ExpressionLightTheme
ExpressionDarkTheme
VS2010Theme
DockableContent类型的实现和Document实现是一样的,只是实现的接口不同,DockableContent实现的是IDockableContent接口,具体请参考Document实现,有疑问的可以提出来,尽量帮助解决,解释写得略简单不好意思,但是有源码参考,如果源码对大家有帮助的话,求个推荐,回复或粉的神马的都好。。。
源码地址:
http://pan.baidu.com/share/link?shareid=819683340&uk=554439928
如果您看了本篇博客,觉得对您有所收获,请点击右下角的 [推荐]
如果您想转载本博客,请注明出处
如果您对本文有意见或者建议,欢迎留言
感谢您的阅读,请关注我的后续博客
作者:Zengg 出处:http://www.cnblogs.com/01codeworld/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
相关文章推荐
- AvalonDock 2.0+Caliburn.Micro+MahApps.Metro实现Metro风格插件式系统(菜单篇)
- AvalonDock 2.0+Caliburn.Micro+MahApps.Metro实现Metro风格插件式系统(一)
- AvalonDock 2.0+Caliburn.Micro+MahApps.Metro实现Metro风格插件式系统(二)
- AvalonDock 2.0+Caliburn.Micro+MahApps.Metro实现Metro风格插件式系统(菜单篇)
- AvalonDock 2.0+Caliburn.Micro+MahApps.Metro实现Metro风格插件式系统(一)
- AvalonDock 2.0+Caliburn.Micro+MahApps.Metro实现Metro风格插件式系统(一)
- AvalonDock 2.0+Caliburn.Micro+MahApps.Metro实现Metro风格插件式系统(菜单篇)
- AvalonDock 2.0+Caliburn.Micro+MahApps.Metro实现Metro风格插件式系统(一)
- 基于WPF系统框架设计(5)-Ribbon整合Avalondock 2.0实现多文档界面设计(二)
- 基于WPF系统框架设计(4)-Ribbon整合Avalondock 2.0实现多文档界面设计(一)
- 用SignalR 2.0开发客服系统[系列3:实现点对点通讯]
- asp.net 2.0中:Web站点风格切换的实现
- 嵌入式系统下Microwindows的实现
- 基于Spring4 Hibernate4 jersey实现rest风格系统
- 图解使用Win8Api进行Metro风格的程序开发五----在系统的设置窗口添加按钮
- VC/Wince 实现仿Win8 Metro风格界面1——设计概述和自绘Button(附效果图)
- 用SignalR 2.0开发客服系统[系列1:实现群发通讯]
- VC/Wince 实现仿Win8 Metro风格界面1——设计概述和自绘Button
- 用ASP.NET 2.0实现AJAX风格的Web开发
- 23、STM32 上系统精确延时与获取 micro 时间函数的实现(FreeRTOS 中也能移植)