2011-07-12 24 views
0

我想構建一個WP7應用程序。 我已經有大部分的邏輯編寫,但我不知道我將如何去和建立一個使用該邏輯的WP7 Silverlight應用程序。從現有(簡單)代碼庫創建WP7應用程序?

已經寫好的邏輯由幾個簡單的模型組成,沒有silverlight特定的東西,比如inotifypropertychanged的observablecollections。

  • 我應該編輯模型以包含INotifyPropertyChanged,並使用模型作爲視圖模型?或者同時使用模型和視圖模型?
  • 模型類和視圖模型之間的關係應該如何?

你會如何從模型和邏輯的現有代碼庫創建一個應用程序? 我會非常喜歡一種不包括向邏輯添加silverlight特定內容的方式嗎?但似乎這樣更容易。

在此先感謝

編輯:

現有的代碼庫只包含一個單一的模型類。我希望在WP7應用程序中的列表中查看模型類,並且當項目得到更新時,我希望UI也被更新。

回答

0

不知道更多關於你的代碼庫的信息,我想說你應該適應MVVM(Model-View-ViewModel)架構,它很好地融合你描述的情況。

你應該爲你的模型編寫單獨的視圖模型,然後這些視圖模型實現INotifyPropertyChanged和所有其他與silverlight相關的東西。

這裏有一篇關於實現MVVM到WPF的好文章:WPF Apps With The Model-View-ViewModel Design Pattern。我知道它不適用於Silverlight,但我相信相同的原則適用,因爲Silverlight只是WPF的子集。

+0

現有的代碼庫只包含一個模型類。我希望在WP7應用程序中的列表中查看模型類,並且當項目得到更新時,我希望UI也被更新。 – Moulde

+0

我做到這一點的方法是簡單地有一個viewmodel,它包含對模型的引用,然後用NotifyPropertyChange =重新實現所有的屬性)很好用! – Moulde

1

您需要在模型中實現ObservableCollection和INotifyPropertyChanged模式。

如果您不想重構現有模型,那麼您可以將現有模型包裝到新類中,但這通常會導致代碼非常混亂。我不推薦它。對於一些簡單的東西(消費模型的一小部分)它可以正常工作,但對於較大的模型,它會很快變成意大利麪條。

相關問題