2010-10-25 43 views
2

我正在構建基於MVVM模式的WPF應用程序。ViewModel in Class項目

稍後我們將構建相同類型的Silverlight應用程序以及Web應用程序。

我想在所有三個用戶界面中使用我的ViewModels:所以我的想法是將vm:s移動到類庫,但後來我丟失了ICommands,有沒有簡單的方法來解決這個問題?

如何解決這個問題?

此致敬禮, Peter Larsson!

回答

0

MVVM假定WPF/SilverLight的綁定,所以你不能在網絡上使用它,當然這不合適 - 這是沒有約束力的希望。

MVVM不過是MVP,而您需要在網絡上使用MVC。

+0

好吧,讓我們暫時忘掉網絡。對於我的Silverlight應用程序,是否有一種方法可以在單獨的項目中使用相同的ModelView類,並且仍然保持ICommands完好? – 2010-10-26 07:23:45

+0

我相信SilverLight 4.0是的,你可以。 – Aliostad 2010-10-26 07:49:11

0

您需要將所有特定於域的邏輯移入ViewModels,但是模型。 ViewModel只是你模型的一個視圖。它處理應用程序中的UI邏輯,可能特定於Silverlight,WPF或Web。實現之間永遠不應該改變的是模型 - 您的域的核心。

將邏輯放入模型中,然後將M-V-VM用於WPF和Silverlight實現,並將MVC用於Web實現。