Silverlight 4 MVVM开发方式(二)

转自http://www.dotblogs.com.tw/help/archive/2010/07/29/16883.aspx

 

做好通讯录之后,为了炫耀​​,小黑很得意的拿给上司小柯看,也很理所当然的被打枪!

『为什么每次ADD后,左边的列表全都被改变了?

有人输入年龄的吗?是要每年都去修改一次喔?

说到修改,到底要怎么改??』

小黑只好摸摸鼻子,回去跟卡玛商量。

每一次新增后,列表都会变成最后一个项目,这很明显是小黑处理资料有问题,

年龄的问题,就增加一个栏位输入生日,栏位名称就叫Birthday,然后计算年龄,

至于修改的话,卡玛说他会设计新介面。

 

说定之后,小黑和卡玛就各自去修改了!

首先小黑看了看程式码,发现Add函式每次都把一样的物件加进去,难怪会出问题

因此他将Add改成下面这样:

  1: private void Add() { 
  2: if (_NewUserCard != null ) { 
  3: UserCardList.Add(_NewUserCard); 
  4: NewUserCard = new UserCard(); 
  5: } 
  6: } 

接着他在UserCard增加一个生日的栏位,并且在生日改变的时候自动计算年纪!

  1: private DateTime _Birthday; 
  2: public DateTime Birthday { 
  3: get { return _Birthday; } 
  4: set { 
  5: _Birthday = value ; 
  6: Update( "Birthday" ); 
  7: Age = DateTime.Now.Year - _Birthday.Year; 
  8: } 
  9: } 

 

然后小黑相信自己的程式功力,所以不测试就去睡觉了!

而卡玛呢?他只需要知道多增加一个生日的日期栏位,叫做Birthday就可以了,

其他关于介面操作手感就全凭使用Blend的技术了!

最后卡玛做了下面的样式

 

用MVVM方式开发Silverlight或是WPF应用程式的很大一个好处就是程式逻辑可以不用被介面绑住,且程式开发与介面开发可以同时并行。

以后若要与DB沟通,存取通讯录不会影响前端介面的开发,前端想要换皮加特效,也不会影响后端程式码。

DEMO_MVVM_2.rar

 

 

时间: 2025-01-23 20:54:42

Silverlight 4 MVVM开发方式(二)的相关文章

Silverlight 4 MVVM开发方式(三)动态换皮

转自 http://www.dotblogs.com.tw/help/archive/2010/07/29/16888.aspx 使用MVVM开发方式,可以让程式逻辑与介面分离, 介面设计者只需要知道资料的名称就可以开发介面, 也因此动态更换介面也变得非常容易.   这边我们先设计一个简单的Model和ViewModel Model就让他有三个栏位,姓名.电话与信箱 ViewModel就做了一个List和时分秒的栏位,以及启动与停止计时的函式,内容如下: 1: public class Demo

Silverlight 4 MVVM开发方式(一)小黑端

转自http://www.dotblogs.com.tw/help/archive/2010/07/27/16844.aspx   一开始接触WPF和Silverlight就对MVVM的开发方式非常有兴趣, MVVM是Model - View - ViewModel的缩写,Model就是资料,View就是介面,ViewModel负责控制介面与资料, 是利用DataBinding的机制所产生出的设计模式,因此只适用于Silverlight和WPF. 此开发方式的目的就是让程式开发人员和画面设计人员

Silverlight 4 MVVM开发方式(一)卡玛端

转自 http://www.dotblogs.com.tw/help/archive/2010/07/27/16845.aspx 小黑与卡玛说明功能注意事项后,卡玛就开启Blend专心做介面, 开启相同专案后,必须先将专案编译过,这样Blend就会知道VM的内容,不然就只能自己打字了! 接着将ListBox拉进Grid,并乔好大小,然后点选ItemSource右边的小方块,再选择Data Binding 之后会出现Binding视窗,如果有编译过,选择+CLR Object就可以找到VM,找到后

WPF and Silverlight学习笔记(二十五)

WPF and Silverlight学习笔记(二十五):使用CollectionView实现对绑定数据的排序.筛选.分组 在第二十三节,我们使用CollectionView实现了对于绑定数据的导航,除导 航功能外,还可以通过CollectionView对数据进行类似于DataView的排序.筛选 等功能. 一.数据的排序: 使用第二十四节的数据源,查询所有 的产品信息: 1: <Window x:Class="WPF_24.CollectionViewSortData" 2:

WPF and Silverlight学习笔记(二十九):Brush(1)

在WPF和Silverlight中,Brush是应用很多的一种类型,主要用于填充各种图 形及控件.Brush及其子类位于System.Windows.Media命名空间,其继承关系如 下图所示: 一.SolidColorBrush SolidColorBrush是最简单的一种Brush,包含 一个Color属性,表示单色的画刷,例如使用红色填充一个矩形: 1: <Rectangle Margin="5" Height="50"> 2: <Recta

从一个登录页面浅淡MVVM(二)

转自http://www.cnblogs.com/Sunpire/archive/2010/12/25/1916933.html 如上图,增加了一个 LoginViewModel.cs 文件,放在 ViewModels 目录中,这个文件就是 LoginPage 的 ViewModel . 一个 UI 对应一个 ViewModel ,这就是 MVVM 的要求,在 ASP.NET MVC 2 中,便是类似这样的. 下面是这个 ViewModel 的部分代码:  LoginViewModel.cs的字

silverlight Validation MVVM下用户提交数据验证捕获

转自http://www.cnblogs.com/HalfwayMonk/archive/2011/01/08/1930495.html @jv9的数据验证系列文章:Silverlight实例教程Validation验证系列中已经详细介绍了silverlight下的各种数据验证的方法.我也看着这些文章学习过来的. 现在在实践MVVM,需要在MVVM下实现提交数据验证,一步一步来. 参考系列文章的第四篇,定义一个验证的基类实现:INotifyPropertyChanged和IDataErrorIn

WPF and Silverlight学习笔记(二十):WPF数据绑定概述

WPF数据绑定为应用程序提供了一种表示数据和与数据交互的简单而又一致的 方法.元素能够以公共语言运行库 (CLR) 对象和 XML 的形式绑定到各种数据源 中的数据. 一.数据绑定的基本概念: 数据绑定涉及到两个方面 :一个是绑定源,再一个是绑定目标.绑定源即控件绑定所使用的源数据,绑定 目标即数据显示的控件. 1.对于绑定源,在WPF可以是以下四种: CLR对象:可以绑定到CLR类的公开的属性.子属性.索引器上 ADO.Net对象:例如DataTable.DataView等 XML文件:使用X

玩转Silverlight控件(二)——Canvas布局

在接下来的几篇文章中,我将来介绍Silverlight相关的布局知识. 在Silverlight中,布局主要有三种方式: 1. Cavas 2. StackPanel 3. Grid 在传统的ASP.NET中,我们知道,布局通常是通过传统的CSS+DIV来予以实现,但是在Silverlight中, 我们更多的是通过布局控件+Style来予以实现,至少我的习惯是这样的.Style其实很类似于CSS. 好,转入正题,在这篇文章中,我主要来介绍Canvas控件的用法. 首先,让我们新建一个Silver