2012-09-20 41 views
1

可能重复:
Why use MVVM?我为什么要使用MVVM?

我想在我的WPF项目实施MVVM,但自从我开始我发现很难通过所需的任务来完成。

我正在使用Caliburn Micro for MVVM,我很难从ViewModel调用其他ViewModel属性,也无法处理像TextBox的GotFocus控件的事件。

MVVM真的比CodeBehind好,我没有使用MVVM进行测试。

请帮忙。

+3

这里有很多很多关于SO的答案,强调了MVVM的重要性和需求。请全部阅读,然后回到这里。 –

回答

2

MVVM简化了自动化测试,它可以帮助您通过分离关注点来保持代码清洁。

如果你不做自动化测试,主要还有第二个原因(还有其他的小优点,但这是IMO的主要优点)。如果您在使用纯MVVM时遇到困难,您可能需要考虑使用混合方法:尽可能多地保留视图模型,但如果代码更具可读性,不要害怕使用后面的代码。

不要忘记:MVVM是一种工具,而不是一个目标!它应该让你的生活更轻松,而不是更难。如果为了避免单行GotFocus处理程序而必须在两层间接中编写50行样板代码,您可能会过度使用它。