Windows Phone Mango編程實踐——第三方MVVM架構

來源:互聯網
上載者:User
文章目錄
  • 在Blend中綁定DataContext

Windows Phone Mango編程實踐

Windows Phone Mango Programming Practice

作品目標:Windows Phone開發實用手冊

MVVM設計模式概述

Model-View-ViewModel (MVVM)設計模式清晰地分離使用者介面(UI)的商務邏輯和展示層。MVVM使得使用者介面設計人員專註於介面設計,開發人員專註於代碼的商務邏輯,並使得開發人員和使用者介面設計人員在軟體製作過程能夠更容易地合作。

在MVVM設計模式,應用程式的使用者介面和底層表示,以及商務邏輯被分成三個不同的類別:視圖(View)、視圖模型(ViewMode)和模型(Model)。MVVM設計模式猶如孫子兵法中的地形:"地形有通者,有掛者,有支者,有隘者,有險者,有遠者。"夫地形者,兵之助也;MVVM則有助於應用程式的測試,維護和升級。熟練掌握MVVM的類及其相互作用,乃"將之至任,不可不察也"。故曰:"知此而用戰者必勝,不知此而用戰者必敗"。

  • 視圖View—封裝了使用者介面和UI邏輯視圖模型;
  • 視圖模型ViewModel—封裝表示邏輯和狀態;
  • 模型Model—封裝了應用程式的商務邏輯和資料;

展示了MVVM類及其相互作用。

 

圖14-1 MVVM類及其相互作用

第三方MVVM架構

在www.CodePlex.com上有許多不錯的第三方MVVM架構可供我們借鑒,其中比較推崇的有MVVM Light Toolkit、Ultra Light MVVM for Windows Phone和Simple MVVM Toolkit都適合Windows Phone的開發。

MVVM Light Toolkit

MVVM Light Toolkit是協助人們在Silverlight和WPF中使用MVVM設計模式的一套組件。它是一個輕量級的、務實的架構,只包含所需的必要組成部分。

: http://mvvmlight.codeplex.com/ 。

在XAML中綁定DataContext

ViewModel檔案夾添加了兩個附加的類:ViewModelLocator.cs和MainViewModel.cs。ViewModelLocator聲明在 App.xaml中可用作源的 DataContext 綁定;MainViewModel 也已添加到項目中 ViewModelLocator 作為公開屬性。

注意

如果在項目中不需要使用MainViewModel,可以刪除此類。

為了使用MainViewModel作為MainPage.xaml的DataContext,需要在MainPage.xaml的開始標記中添加以下代碼:

DataContext="{Binding Main, Source={StaticResource Locator}}"

在Blend中綁定DataContext

DataContext 也可以直觀地在Expression Blend中使用以下步驟中綁定。

  • 在Expression Blend中開啟Windows Phone工程;
  • 編譯應用程式;
  • 開啟MainPage.xaml;
  • 在Objects和Timeline panel選擇UserControl;
  • 在屬性面板中,選擇DataContext 屬性(在Common Properties部分),在Advanced屬性的下拉式功能表中選擇資料繫結。 Blend的資料繫結。


圖14-2 Blend的資料繫結

More information about the MVVM Light Toolkit can be found on http://www.galasoft.ch/mvvm/getstarted更多關於MVVM Light Toolkit的協助請登入http://www.galasoft.ch/mvvm/getstarted
.。

Ultra Light MVVM for Windows Phone 7

Ultra Light MVVM是輕量級的MVVM Silverlight應用程式,支援Windows Phone的邏輯刪除(tombstoning)。Ultra Light MVVM支援Windows Phone的特性:

  • 命令
  • 命令按鈕(使用參數)綁定
  • 支援將命令綁定到應用程式欄上的按鈕
  • 對話方塊,通知和確認
  • 位置服務
  • 友好的設計時視圖模式
  • 具有墓碑事件控制鉤的墓碑友好視圖模型
  • 從視圖模型解耦的導航支援
  • 從視圖模型解耦的視覺狀態支援
  • 在視圖模型攔截後退鍵
  • 使用介面執行緒訪問的分配器協助

: http://ultralightmvvm.codeplex.com/ 。

Simple MVVM Toolkit

Simple MVVM Toolkit使開發應用MVVM設計模式Widnows Phone的應用程式變得更容易,為基於 MVVM設計模式的應用程式提供一個簡單的架構和工具集。Simple MVVM Toolkit的特點是簡單,但它包含執行 MVVM 設計模式的應用程式所需的一切。

: http://simplemvvmtoolkit.codeplex.com/ 。

來自Tony Sneed部落格的Simple MVVM Toolkit和MVVM Light Toolkit的比較結果。


圖14-3 Simple MVVM Toolkit和MVVM Light Toolkit的比較

Simple MVVM Toolkit安裝後的MVVM應用程式 Simple MVVM Toolkit。

圖14-4 Simple MVVM Toolkit

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.