天天看點

Silverlight中使用MVVM(1)--基礎

  silverlight中使用mvvm(1)--基礎 

    silverlight中使用mvvm(2)—提高 

    silverlight中使用mvvm(3)—進階 

    silverlight中使用mvvm(4)—演練

這是我第一篇關于設計模式方面的文章,以前除了對單例模式等幾個常用的模式有所研究之外,對設計模式不是太重視,總覺得要到一定的程度才需要接觸,

最近的項目中使用了mvvm模式,是以這段時間查閱了大量這方面模式的文章,理論上的東西大家都說的比較好,這裡我也不大談mvvm模式的優勢了,隻是

美中不足的是大部分給出的示例中,對于一個沒有用過mvvm模式的人而言,這些例子總是給人一種摸不着頭緒的感覺,是以我想将我學習mvvm的過程一步步

寫下來,希望對于和我一樣,剛剛接觸mvvm這個模式的人有一點點幫助。

     如果你不知道mvvm模式,我建議你先了解一下,至少要知道實作該模式的意圖是什麼。

那麼我主要通過我認為是已經算是比較簡單的例子進行講解這個模式,當然後面我們會在這個例子的基礎上一步一步的進行擴充。

     先來看一看我們的項目架構:

     很典型的mvvm的分層方式

     我們先來建構model,首先在person.cs中簡單聲明了一個類型

     類型定義好後,我們在persons.cs中得到一個person的集合

     那麼這裡我們就簡單的完成了model的工作,下面開始完成viewmodel部分的工作

     viewmodel也設計的很簡單,隻是簡單的擷取了之前定義的集合。

     下面就是pageview部分了,這裡用datagrid進行顯示資料

這裡我們将datagrid的源設為human,這樣我們就完成了mvvm模式各個層次的初步建構,關鍵的問題是怎樣将這幾個部分有效的聯系起來

     我們将pageview,pageviewmodel引入到mainpage中

這裡的工作就是将pageviewmodel聲明為一個資源,然後通過頁面引用它,這樣就實作了我們所謂的mvvm模式。

當然了,這個例子是很簡單的,似乎用mvvm模式未免小題大作,但是實際上,頁面與邏輯分離的情況下,我們改動其中任何一個部分都是比較清楚的。

       好吧,這篇就到這裡