基于 Silverlight的快速开发框架RapidSL之MVVM解析

RapidSL是一款基于WCF RIA Service、Entity Framework和MVVM的高效Silverlight开发框架。该框架采用DomainService+RiaControls+EasySL Controls集成封装传统SL开发方式,通过简化CRUD操作提供快速开发体验。其核心特性包括自动化的Model生成、LightMVVM ViewModel实现及便捷的UI绑定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RapidSL框架基于WCF RIAService + EF + MVVM,UI 采用了DomainService + RiaControls + EasySL Controls,对sl传统的开发方式进行了集成和封装,核心模块基于View,ViewModel模型,基本上只需要修改View视图就可以完成 CRUD操作,提供了非常便捷的快速开发方式;

一. Model(Domain Model)

1. RIA Service端通过EF生成

2. 然后在sl项目选中“WCF RIA Services link”,


3. 会自动生成UI Model,省去了DTO,保存在Generated_Code


二. ViewModel

1. 使用了LightMVVM,继承自ViewModelBase

2.  作为前端绑定的业务实体如:

复制代码
  
protected bool isShowDataFormPanel; public virtual bool IsShowDataFormPanel { get { return isShowDataFormPanel; } set { isShowDataFormPanel = value; RaisePropertyChanged( " IsShowDataFormPanel " ); } }
复制代码

3. 作为视图绑定事件通知的RelayCommand

复制代码
  
protected ICommand itemEdit; public virtual ICommand ItemEdit { get { if (itemEdit == null ) itemEdit = new RelayCommand(() => { this .IsShowDataFormPanel = true ; }); return itemEdit; } }
复制代码

4.注入ViewModel到App资源,[StaticResource(Key..., 和在App.xaml里写资源是一样的

  
namespace RapidSL.UI.ViewModels { [StaticResource( " MainViewModel " )] public partial class MainViewModel : MyViewModelBase

5. 我实现了一个通用的带CRUD ViewModel:

三. View

1. 赋DataContext为对应的ViewModel

  
< UserControl.DataContext > < Binding Source = " {StaticResource Article_ItemViewModel} " /> </ UserControl.DataContext >

2. Binding和Command

  
< Button Command = " {Binding ItemDelete} " IsShow = " {Binding IsShowDataFormPanel, Mode=TwoWay} " >

下载:http://easysl.codeplex.com/releases/view/26522
预览:http://rapidsl.guozili.25u.com/  (guest/guest  admin/admin  请不要删除资料)

  
RapidSL - a efficient and fast Infrastructure for silverlight development Produced by xiaoyi / www.guozili. 25u .com / guozili@ 163 .com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值