【发布时间】:2016-12-31 19:23:09
【问题描述】:
我想做的是在不再需要 ViewModel 时取消订阅事件。我尝试实现 IDisposable,但没有人调用 Dispose(),而不是 Xamarin.Forms 或 Prism.Forms。
我们有一个使用 Xamarin.Forms 创建的应用。我们使用 Prism.Forms 来做 MVVM。当导航到新页面(推送堆栈)时,Prism.Forms 将 ViewModel 连接到页面。当导航回来(从堆栈中弹出)时,ViewModel 会在一段时间后得到 GarbageCollected。
然而问题在于,在某个时间点,我们有几个相同类型的 ViewModel,它们订阅了未绑定到 View 的事件。当事件触发时,所有这些 ViewModel 开始做他们的事情。因此,我正在寻找一种在不再需要订阅时取消订阅的方法。
有人有解决办法吗?
【问题讨论】:
标签: mvvm xamarin.forms prism