0

我在打开的窗口中有一个表单以添加实体的新实例。要稍后编辑此实体,除了预先填充字段外,呈现相同表单的最佳方式是什么?

如果没有肮脏的 hack(沿着设置状态 [添加/编辑] 的路线)和违反单一责任原则,我发现很难重用相同的视图和视图模型。我目前正在考虑从包含所有重复 VM 代码的基本视图模型继承,但是我仍然坚持使用相同形式的 2 个版本。在保持干燥的同时做到这一点的最佳方法是什么?

我对 WPF 相当陌生,我正在使用 MVVM Light 框架。

4

1 回答 1

1

使用 Automapper,它基本上会让你的实体和视图模型之间的映射变得轻松。检索有问题的实体,并将其映射到视图模型以显示在您的表单上。您可以创建一个新的视图模型并将其绑定到您的视图,或者只要您清除现有字段,就可以重新使用相同的视图模型。

我建议在您的视图模型上设置一个状态,告诉您的 UI 是处于“创建”还是“编辑”模式。在我看来,这并不违反单一责任;视图模型告诉 UI 它应该如何显示自己。实际的编辑和创建功能应该包含在单独的 Command 对象中。

http://automapper.org/

于 2012-09-16T19:06:32.540 回答