没有代码的纯MVVM

时间:2012-09-01 19:37:38

标签: mvvm

我对避免代码背后的代码感兴趣。 在我看来,有些情况下代码必须放在后面的代码中。 例如:我有一个未定义列数的网格。列无法绑定。因此,最简单的方法是在后面的代码中生成列。

对于这种情况,我可以创建一个继承自网格的新类。这个新类有一个新的绑定属性和列绑定的代码。代码在自定义类中分隔,可以在XAML中使用。然后,我可以轻松地将列绑定到我新创建的属性。而且视图背后没有代码。

这是个好主意吗?你会如何解决这样的(或类似的)问题? 还有其他方法可以从后面的代码中提取代码吗?

感谢。

1 个答案:

答案 0 :(得分:3)

在免费的xaml.cs之后使用代码并将代码转移到新类并不意味着它是纯粹的MVVM。我们的想法是,您将拥有ViewModel中的所有逻辑,因此可以使用免费View后面的代码,从而帮助进行单元测试。查看颜色和动画等特定逻辑无法进行单元测试,因此无论它驻留在何处,在自定义控件或继承控件中,或直接在xaml.cs中。只要您通过UnitTesting测试大多数用户交互和查看逻辑,您应该对自己做得很好感到高兴。