C# MvvmCross从ViewModel事件导航

C# MvvmCross从ViewModel事件导航,c#,windows-phone,mvvmcross,C#,Windows Phone,Mvvmcross,我从这里了解了“视图模型到视图模型导航”和“视图模型生命周期”: 我可以使用Init()或Start()方法初始化当前ViewModel。 我还可以将参数从一个ViewModel传递到另一个ViewModel,并在Init()方法中接收它 因此,我的问题是: 当我创建windows phone应用程序时,我使用了“NavigateTo”和“NavigateFrom”方法。 Init()类似于“NavigateTo”。 但我在mvvmcross中找不到“NavigateFrom”方法的替代方法,

我从这里了解了“视图模型到视图模型导航”和“视图模型生命周期”:

我可以使用Init()或Start()方法初始化当前ViewModel。 我还可以将参数从一个ViewModel传递到另一个ViewModel,并在Init()方法中接收它

因此,我的问题是: 当我创建windows phone应用程序时,我使用了“NavigateTo”和“NavigateFrom”方法。 Init()类似于“NavigateTo”。 但我在mvvmcross中找不到“NavigateFrom”方法的替代方法,我不知道如何在通过“关闭(此)”或使用windows phone上的“后退”按钮移动“后退”时重新加载数据

你能暗示我吗

提前谢谢

已更新

我发现Messenger(MvvmCross插件)可以帮助我在另一个ViewModel更改数据时通知第一个ViewModel(例如,向集合添加项目)。 因此,当第二个ViewModel添加新项时,第一个ViewModel将在OnCollectionChanged(CollectionChangedMessage obj)方法中重新加载数据

Stuart在NPlus1DaysOfMvvmCross/N-13-CollectABull-Part2中展示了如何使用该插件。 链接此处:

但我在mvvmcross中找不到“NavigateFrom”方法的替代方法,我不知道如何在通过“关闭(此)”或使用windows phone上的“后退”按钮移动“后退”时重新加载数据


通常情况下,您不需要在此事件中重新加载数据,因为ViewModel已从先前的正向导航中创建和初始化


如果您确实想在返回时刷新ViewModel,则N=42视频中的
ivibible
模式可能会有所帮助,但您需要自己将其添加到视图和ViewModel中-请参阅

“通常情况下,您不需要在此事件中重新加载数据-因为ViewModel已从先前的正向导航中创建和初始化。“是的,我明白。但是第一个ViewModel使用的数据可能已被另一个第二个ViewModel更改,因此我必须通知第一个ViewModel。我发现Messenger(MvvmCross插件)可以帮助我解决这个问题。