2013-07-08 34 views
1

目前我正在探索開發WinRT和Windows Phone應用程序的MVVM框架。我發現Catel MVVM框架提供了許多功能。我也通過codeplex上的catel mvvm瞭解了各種示例示例。然而,大多數這些示例都是在單個visual studio項目中構建的。單個項目我的意思是有一個用於WinRT應用程序的Visual Studio項目,該項目包含模型,視圖模型和視圖以及用於Windows Phone應用程序的單獨項目。 我打算以我可以在WinRT和Windows Phone應用程序之間共享代碼的方式構造我的代碼。 例如Catel MVVM應用程序代碼結構

常見

  • 項目1:業務服務
  • 項目2:型號
  • 項目3:視圖模型

的WinRT

  • 項目4:WinRT的應用特定代碼(視圖等)

贏手機

  • 項目5:Windows Phone應用程序特定代碼(查看等)

現在的問題是,我明白Catel使用一些約定來定位視圖模型,有沒有可能如上所述構造應用程序代碼?如果是,那麼如何?有沒有我可以從中獲取幫助的示例代碼示例?任何在這方面的幫助,非常感謝。提前致謝。

回答

1

是的,甚至可以使用單獨的程序集來解決命名約定(您可以完全自定義它們,如在documentation中所見)。

+0

謝謝歡迎使用文檔鏈接。我從文檔中瞭解到的是,我可以使用viewmodellocator讓我的視圖知道我的視圖模型的位置。但是我仍然不清楚ViewModelLocator和ViewLocator的用法。我在這裏有問題。我是否需要編寫任何引導程序來配置命名約定?或者有什麼方法可以註冊? –

+0

另外我如何讓我的viewmodels知道模型? –

+0

您應該在應用程序啓動時註冊命名約定(如App.xaml.cs)。您可能也會考慮: http://www.geertvanhorrik.com/2013/06/28/assembly-constructors-and-initializers-using-c/ –