我觉得MVVM社区已经像90年代的OO程序员一样变得过分热情-这是一个错误的称呼MVVM是没有代码的代名词。从我关闭的StackOverflow问题中:
我多次在这里遇到有关某人试图在XAML中完成等效操作而不是在后面编写代码的帖子。他们唯一的理由是他们希望将代码保持在“干净”的后面。如果我错了,请纠正我,但事实并非如此:
XAML也被编译为BAML,然后无论如何在运行时都必须将其解析为代码。XAML可能具有更多的运行时错误,因为编译器在编译时不会从错误的拼写中拾取它们,这些错误也更难调试。后面已经有代码-是否喜欢InitializeComponent(); 必须运行,并且其中的.gics文件包含一堆代码,尽管它可能是隐藏的。这纯粹是心理上的吗?我怀疑是开发人员来自网络背景,喜欢标记而不是代码。
编辑:我不建议在XAML后面编写代码-两者都使用-我也希望在XAML中进行绑定-我反对采取一切措施避免在WPF应用程序中的esp后面编写代码-这应该是两者都可以最大程度地发挥作用。
更新:这甚至不是微软的想法,MSDN上的每个示例都展示了如何在两者中都可以做到。