Silverlight 4 MVVM開發方式(二)

Silverlight 4 MVVM開發方式(二)

做好通訊錄之後,為了炫耀,小黑很得意的拿給上司小柯看,也很理所當然的被打槍!

『為什麼每次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的技術了!

最後卡瑪做了下面的樣式

013

 

用MVVM方式開發Silverlight或是WPF應用程式的很大一個好處就是程式邏輯可以不用被介面綁住,且程式開發與介面開發可以同時並行。

以後若要與DB溝通,存取通訊錄不會影響前端介面的開發,前端想要換皮加特效,也不會影響後端程式碼。

DEMO_MVVM_2.rar