1
4
利用Blend在设计时使用XAML所能做的事情也有一些好处,但这实际上更多的是XAML与代码隐藏参数(相同代码)的比较。对于与MVVM相关的no-code-behind参数,正如您所指出的,真正的目标是将代码移动到类中,比如可以测试和重用的ViewModels。与许多事情一样,这常常被带到极端,当真正需要的是没有代码的时候,人们最终坚持永远不会有任何代码 业务逻辑 在代码背后,忽略了也常常有 UI逻辑 我也是。 XAML非常丰富,允许您以声明的方式执行许多操作,但仍有一些特定于UI的操作(即事件处理程序、一些动画处理)需要使用一些代码才能完成。通常,您可以通过使用自定义控件、附加属性等方法将此代码移到代码隐藏之外的其他位置。但是,如果这样做没有获得任何重用好处,那么最好使用代码隐藏来代替UI逻辑。 像MVVM这样的模式是通用的指导原则,而不是一组需要严格遵守的规则——这些被称为编程语言 |
2
1
|
3
1
这都是关于可测试性的。很难(几乎不可能)对落后的代码进行单元测试。使用MVVM,您可以创建完全测试模型和ViewModel的测试工具。 也就是说,我是务实的粉丝。有些UI事件需要使用命令来设置,对于这些事件,我有时会下拉到codebhind中。 |
4
0
视图模型 是 另一方面,正如benjohnson所说,除了傻瓜,没有人能在视图模型中实现拖放。 |
Xsayar · 如何将两个命令绑定到WPF按钮? 6 年前 |
Mark Denom · 我的数据绑定是如何写出长度属性的? 6 年前 |
Dev · 如何更新绑定到UI的集合? 6 年前 |
Detlef D Soost · 多重绑定未设置值 6 年前 |
Jack Guo · 在MVVM中清除集合视图的正确方法 6 年前 |