我为我的应用程序使用MVVM Light,并且我还实现了用于返回/在页面之间的INavigationService。ViewModel事件多次触发
因此,在一个常见的场景,是这样的
的MainPage>分类>大红大紫>数据页。
在DataPage中,我提出取回结果的请求,并根据回调返回的结果调用.GoBack()方法从堆栈弹出当前页面并返回Rounds。
我注意到的是,如果我先打DataPage和.GoBack()被调用,然后点击不同的回合,回调方法将被触发两次,如果我回来并再次三次,并且像这样继续。
本质上这意味着.GoBack()将被再次调用,并导航导致混乱。我相信这与不清理以前的VM有关,我试图用SimpleIOC的UnRegister/Register类改变这种行为,但没有运气。
听起来你,但挂钩的情况下,当你进入你离开时不脱钩了。我会从回调中的事件中删除回调。 – Slepz
@Slepz我试图做到这一点,现在以另一种方式做了,请检查我提出的答案并告诉我您的评论。 –