我知道这已经干得要命,但大多数的答案都是沿着"是的,你可以,如果你喜欢使用事件处理到位的命令"行.这仍然没有解决的写复杂的命令是否是必要的VS刚刚连线了在代码后面事件处理中调用您的视图模型检验的方法问题.
我不喜欢命令,因为它们产生了很多样板代码并且没有给我任何优于普通方法的好处,而且其中一些(例如拖放)很难实现.
写作有什么问题:
代码隐藏:
private void Button_Click(object sender, RoutedEventArgs e)
{
viewModel.LoadData();
}
Run Code Online (Sandbox Code Playgroud)
视图模型:
public void LoadData()
{
//....
}
Run Code Online (Sandbox Code Playgroud)
这与任何命令同样可测试(如果不是更多).IMO,只要UI特定的东西没有泄漏到您的业务逻辑中,就没有必要在这样复杂的模式上浪费时间.思考?
写作有什么问题
没什么 - 在大多数情况下.
如果你小心地将业务逻辑保留在文件后面的代码中,那么使用代码背后没有任何问题.这是将它直接委托给ViewModel,这是合理的.
话虽如此,在长期可维护性方面存在一些潜在的弊端:
ICommand允许您将相同的View与可能不同的ViewModel一起使用.(然而,这在实践中很少见.)| 归档时间: |
|
| 查看次数: |
830 次 |
| 最近记录: |