基于 Silverlight的快速开发框架RapidSL新版改进源码
重写了核心框架和UI逻辑,对sl传统的开发方式进行了集成和封装,核心模块基于MVVM,通用的CRUD ViewModel,只需要定制自己的Xaml View,提供了非常便捷的快速开发方式; 采用了Silverlight 5.0 + EF4.1 Code First + Ria Service SP2 + Ria Service Toolkit + Silverlight Control Toolkit + Light MVVM;已经实现了轻量级的权限管理,上传模块,内容管理,作为实例,涉及到了sl开发的各种技术难点和技巧,既可以作为学习,也可以作为项目开发的原型;RapidSL框架主攻快速开发领域,力求做到LightSwitch,而EasySL主要是容易和传统的三层架构进行无缝整合,在定制化的特定项目中运用。
环境配置
- EF 4.1 和 Ria Service SP2已经对Code First/DBContext已经提供支持,请参考 http://jeffhandley.com/archive/2011/06/30/RIAServicesCodeFirst.aspx
- 需要安装Silverlight 5 Tools for Visual Studio 2010 SP1,EF 4.1,Silverlight 5 Toolkit,WCF RIA Services 1.0 SP2,WCF RIA Services Toolkit
- 需要配置是web.config里的connectionStrings的sqlserver2008地址,默认 为.\SQLEXPRESS;
源码分享
- 下载:http://easysl.codeplex.com/releases
- 预览:http://rapidsl2.guozili.25u.com/ (admin/admin 请不要删除资料)
整个解决方案
后端EF相关项目和SL项目分离,体统通用的处理类和控件以及对如枚举转换,资源注入,各种Converter的核心支持。
对MVVM的支持
使用了Light MVVM作为原型驱动,EditableViewModel提供对CURD的统一处理
对Enum的支持
将枚举转化成Dictionary<int, string>, key为枚举值,value为上面的DescriptionAttribute的值并提供相应的Converter,这些都只需要泛型继承
对Resource的支持
找到所有标识有StaticResourceAttribute的类,然后创建相关实例,并注入到Application.Resources,相当于在App.xaml里手写资源
对权限的支持
对控件的支持
主题美观
内置Metro和Green两套主题 ,可参考 http://blogs.msdn.com/b/esthetique/archive/2010/08/19/introducing-the-new-silverlight-4-themes.aspx
截图分享