转自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沟通,存取通讯录不会影响前端介面的开发,前端想要换皮加特效,也不会影响后端程式码。
时间: 2025-01-23 20:54:42