两个视图模型之间的主细节分割:取消命令逻辑的位置?

Ben*_*udo 2 .net c# wpf mvvm master-detail

窗口的主部分包含一个DataGrid."详细信息"部分显示一个表单,允许编辑当前在主数据网格中选择的记录.Grid的SelectedItem绑定到主vm.当该属性更改时,主vm会创建一个新的EditViewModel,通过属性公开它.视图的详细信息部分使用此属性作为其DataContext.

在实现取消等命令时,您会将它们放在主视图或详细信息视图模型中吗?

详细信息视图模型负责用户与记录的交互.有人可能会说这个责任包括删除.另一方面,可以认为主视图负责用户与集合的交互,并且由于删除正在修改集合,因此应该在其中放置删除功能.

谢谢你,

编辑:澄清 - 通过"实现命令",我的意思是实现要求服务层执行请求的操作的代码.

kiw*_*pom 5

我认为你的第二个论点比第一个论点强得多.

只是个人意见,但在我看来,删除是一个集合的关注,而不是个人记录.