2010-10-25 41 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实现。