重寫了核心框架和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
截圖分享
![]()