MVVM设计模式与Silverlight应用的打印和报告功能
1. MVVM设计模式概述
MVVM(Model-View-ViewModel)设计模式是一种适合Silverlight开发者学习和理解的模式,即使在项目中不使用,也能从中获得有益的编程思想。在ViewModel中实现属性时,选择依赖属性还是标准属性,最终取决于个人偏好。由于是对属性进行绑定(属性作为数据的来源),所以不需要将其设为依赖属性。通常,能引发 PropertyChanged
事件(来自 INotifyPropertyChanged
接口)的标准属性是在ViewModel中实现属性的最佳选择。
在典型的业务应用中,项目中的ViewModel通常需要通过RIA Services与服务器进行交互。在MVVM模式中,从服务器暴露的实体将作为Model对象。ViewModel一般会从服务器请求数据,将其暴露给View(可以在View中查看和更新数据),并将数据的任何更改持久化回服务器。
2. MVVM模式的具体实现
2.1 实现Model
Model对象是通过RIA Services从服务器暴露的实体。以一个简单的包含三个字段的 Product
实体为例,该实体将直接暴露给View并与之绑定。
2.2 实现ViewModel
虽然在技术上可以在ViewModel中实例化 DomainDataSource
控件并通过它与服务器交互,但通常的做法是直接与域上下文对象进行通信。下面创建一个 Produ