初學Windows Phone:MVVM Light Toolkit

來源:互聯網
上載者:User

MVVM Light Toolkit是Silverlight開發中用到的最多的MVVM架構,雖然之前做了一些這方面的開發,但是一直都沒有很好的研究,今天就做一個系統的學習,記錄備查(主要因為本人E文太爛,看E文太廢勁了)。

MVVM Light Toolkit的最新訊息可以參考http://mvvmlight.codeplex.com/

1.下載安裝

基本要求就不多說了,可以參考:http://www.galasoft.ch/mvvm/installing/   “安裝的先決條件”部分。

如果之前安裝過其它版本,要先卸載掉,參考:http://www.galasoft.ch/mvvm/cleaning/

我安裝的是MVVM Light Toolkit V4 beta 1(:http://mvvmlight.codeplex.com/releases/view/73208),下載完成後進行安裝,除把安裝路徑改成合適的地方外,其它選項都是預設設定。過程

2.相關介紹

GalaSoft.MvvmLight 類庫

  • ViewModelBase 類是ViewModels的基礎類,在開發中ViewModls類都要繼承自它。
  • Messenger類 用於應用程式的通訊。接收者僅接受註冊過的訊息類型。此外,目標類型可以被指定,用Send<TMessgae,TTarget>(TMessage message)實現,在這種情況下如果接收者類型和目標參數類型匹配資訊被傳遞,message可以是任何對象,可以用特定的訊息類型或者建立自己的類型繼承自它們。
    1. MessageBase:訊息基類,是訊息發行者的任何資訊。
    2. GenericMessage<T>:一個簡單的泛型訊息。
    3. NotificationMessage: 用於發送一個string類型通知給接受者。
    4. NotificationMessage<T>:NotificationMessage泛型方工。
    5. NotificationMessage:向接受者發送一個通知,允許接受者向寄件者回傳訊息。
    6. NotificationMessageAction<T>:NotificationMessage的泛型方式。
    7. DialogMessage:寄件者(通常是View)顯示對話,並且傳遞調用者得回傳結果(用於回調),接受者可以選擇怎樣顯示對話方塊,可以使是標準的MessageBox也可也是自訂快顯視窗。
    8. PropertyChangedMessage<T>:用於廣播一個屬性的改變在寄件者裡,和PropertyChanged事件有完全箱體內各的目的,但是是一種弱連絡方式。
  • Command 類在你的應用程式中是最佳的使用方式,可以使用RelayCommand<T>和RelayCommand,很方便的綁定一個執行命令。

 GalaSoft.MvvmLight.Extras 類庫可選類

  EventToCommand behavior,允許你綁定任何事件在UI的元素上,必須是一個ICommand。

  DispatcherHelper類,一個輕型類,可以用於多線程編程(非同步處理)。

3.模版

安裝完MVVM light Toolkit後,在建立項目時就會出現各種MVVM的項目模版可選(取決於你是否安裝過的平台),

在建立項時也會有各種模板可用,

不過需要注意的是,如果建立一個MVVMViewModel(WP7,其它類型沒有測試)時需要手工去ViewModelLocator.cs中去註冊。

4.程式碼片段

可以使開發人員更快的進行開發,不過只在vs中支援。blend中不可用。

現在總算有了一個初步的瞭解,新的功能以後慢慢發現。

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.