我喜欢MVVM模式,一旦开始使用它,就会上瘾。
在理想的情况下,你的View中的代码几乎为空(也许只有一些构造函数中的代码),而View的每个方面都由ViewModel进行操作。
但是,有时,在ViewModel中创建新字段、属性或命令会比在事件处理程序中实现同样的事情产生更多的代码。
目前,我遵循以下规则:
如果事件处理程序代码仅操纵其视图的非常小部分(例如,按钮单击事件处理程序增加位于同一视图上的某个TextBlock的字体大小),那么在事件处理程序内实现逻辑是可以的。但如果View需要操纵业务逻辑或访问位于视图外的资源,则将这些责任分配给ViewModel。
您对我的方法有何看法?
在使用事件处理程序和ViewModel时,您试图避免什么?
在使用MVVM模式时,您能推荐哪些最佳实践?