【发布时间】:2013-12-09 01:57:51
【问题描述】:
基本上我的场景如下:我有 1 个视图绑定到一个 ViewModel,带有一个项目列表(项目的类是我模型中的一个类)。每次从这个“列表视图”的列表中选择一个项目时,它的字段都会在另一个“详细信息视图”中进行编辑。这与客户管理示例场景相同,其中客户是从列表中选择的(在“列表视图”中),并且可以在“详细信息视图”中更改客户的详细信息。 在我的场景中添加的怪癖是,我希望在详细信息视图中对项目所做的更改反映在列表视图中。更改从详细信息视图保存在数据库中。
此外,根据详细信息视图中所做的更改,该项目可以从第一个视图的列表中删除。请注意,这不是从数据库中删除记录,因为列表视图中的列表只是数据库中项目的过滤列表。我想出了两种可能的方法:
- 通过将 2 个视图绑定到同一个视图模型
编辑:如何调用第二个视图?第二个视图实际上会使用共享 ViewModel 的相同实例吗?
-或- 2. 通过将列表视图中选择的项目通过引用 传递到详细信息视图。因此,在这种情况下,我将维护 1-View-to-1-ViewModel 映射。
我的问题是:
- 如何实现方案 1,
- 2中,
Init()方法(配合ShowViewModel()方法使用)是否支持通过 参考?
如果您能在答案中包含代码 sn-ps/examples,我将不胜感激。
非常感谢,
【问题讨论】:
-
@Stuart:嗨 Stuart,很抱歉一周后回来;只需编辑我的原始帖子并添加一个关于“将 2 个视图绑定到同一个视图模型”主题的附加问题/说明,我最初忘记提出:如何调用第二个视图?谢谢