【发布时间】:2014-04-13 21:12:45
【问题描述】:
我从这里读到了“ViewModel 到 ViewModel 导航”和“View Model Lifecycle”: https://github.com/MvvmCross/MvvmCross/wiki/ViewModel--to-ViewModel-navigation https://github.com/MvvmCross/MvvmCross/wiki/View-Model-Lifecycle
我可以使用 Init() 或 Start() 方法来初始化当前的 ViewModel。 我也可以将参数从一个 ViewModel 传递到另一个 ViewModel 并在 Init() 方法中接收它。
所以我的问题: 当我创建 Windows Phone 应用程序时,我使用了“NavigateTo”和“NavigateFrom”方法。 Init() 类似于“NavigateTo”。 但是我没有在 mvvmcross 中找到“NavigateFrom”方法的替代方法,当我通过“关闭(此)”或使用 Windows 手机上的后退按钮“返回”时,我不知道如何重新加载数据。
你能提示我吗?
提前致谢!
更新
我发现 Messenger(MvvmCross 插件)可以帮助我在另一个第二个 ViewModel 更改数据时通知第一个 ViewModel(例如,将项目添加到集合中)。 所以当第二个 ViewModel 添加新项目时,第一个 ViewModel 会在 OnCollectionChanged(CollectionChangedMessage obj) 方法中重新加载数据。
Stuart 在 NPlus1DaysOfMvvmCross/N-13-CollectABull-Part2 中展示了如何使用此插件。 链接在这里:https://github.com/MvvmCross/NPlus1DaysOfMvvmCross/tree/master/N-13-CollectABull-Part2
【问题讨论】:
标签: c# windows-phone mvvmcross