MVVM设计问题

时间:2010-12-13 07:56:35

标签: wpf mvvm

我有两个表单的应用程序(窗口) 它们代表身份证的正面和背面 用户输入数据并且打印机吐出可折叠和层压的东西以产生前后效果 我使用不同的视图来显示正面和背面,我想我的问题是如何在两者中使用相同的ViewModel实例(数据需要在打印前保存到数据库中) 或者我这样做是错的,我应该只有一个视图并显示隐藏Front \ Back(我真的很讨厌那个) 谢谢

1 个答案:

答案 0 :(得分:0)

通常,每个View都需要一个ViewModel,因为ViewModel的工作是准确提供它附加的View所需的数据。

所以,在你的情况下,听起来你应该有一个View和ViewModel用于前面,一个View和ViewModel用于后面。

当用户提交表单时,有几种方法可以保存数据。常见的模式是为每个数据库表设置Repository类。存储库类通常允许您选择,插入,更新和删除数据。因此,您可以将必要的存储库传递到每个ViewModel中,然后在用户提交时,让ViewModel告诉存储库插入或更新数据。