在页面之间导航时使用mvvm保存数据的正确方法

时间:2015-06-03 00:27:39

标签: c# mvvm mvvm-light

我正在开发一个通用应用程序,但我很困惑在使用MVVM时保存数据的最佳方法是什么。我在这个项目中使用MVVM灯

我有一个页面(即LocationsPage),其中一个ListBox绑定到一个可观察的集合,该集合包含LocationViewModel类型的对象。

LocationsPage底部有一个“新建”按钮,允许用户创建新位置。

单击时,它会导航到另一个页面,即LocationPage。

此页面包含创建新位置的所有必填字段,在页面底部,我有一个“保存”按钮。

单击时,我想返回包含列表的LocationsPage,并将新创建的位置添加到该列表中,我还想将数据保存到文件中。

有没有办法在不使用代码隐藏的情况下实现这一点(即OnNavigatedTo,OnNavigatedFrom)?

我知道快速解决方法是在页面之间使可观察集合全局化,以便可以直接将新创建的位置对象添加到它,但我不喜欢这个想法。“/ p>

有人能指出我如何以最佳方式处理这个问题吗?

感谢。

1 个答案:

答案 0 :(得分:0)

也许将集合传递给“子”视图模型?甚至将Parent View Model作为具有AddNew方法的ILocations?