我想做的是在ViewModel不再需要时取消订阅事件。我尝试过实现IDisposable,但Xamarin.Forms和Prism.Forms都没有调用Dispose()。
我们使用Xamarin.Forms创建应用程序,使用Prism.Forms进行MVVM。当导航到新页面(推入堆栈)时,Prism.Forms会将ViewModel与页面绑定。当从堆栈中弹出时,ViewModel在一段时间后被垃圾回收。
然而问题在于,在某个时间点,我们有几个相同类型的ViewModel订阅了未绑定到View的事件。当事件触发时,所有这些ViewModel都开始执行它们的任务。因此,我正在寻找一种在订阅不再需要时取消订阅的方法。
是否有人有解决方案?
我们使用Xamarin.Forms创建应用程序,使用Prism.Forms进行MVVM。当导航到新页面(推入堆栈)时,Prism.Forms会将ViewModel与页面绑定。当从堆栈中弹出时,ViewModel在一段时间后被垃圾回收。
然而问题在于,在某个时间点,我们有几个相同类型的ViewModel订阅了未绑定到View的事件。当事件触发时,所有这些ViewModel都开始执行它们的任务。因此,我正在寻找一种在订阅不再需要时取消订阅的方法。
是否有人有解决方案?