我看到了一些将人们放在页面构造函数中的示例。然后,他们取消订阅OnDisappearing()。
我有我的页面ViewModel发送消息,然后在后端页面C#中提取这些消息。但是对我来说,问题是页面构造一次,然后转到其他页面:
Navigation.PushAsync(new VersionPage())
,我的订阅丢失了。
将感谢一些有关如何处理此问题的建议。
答案 0 :(得分:1)
我假设您已订阅Page1,并且要导航到Page2,然后在Page2中要致电发送消息?
在这种情况下我将要做的是,可以设置布尔值,以便在第1页消失时不会取消订阅。
我个人不喜欢使用消息传递中心。
我会做些什么,因为页面1或页面1的viewmodel会负责页面2的创建,在创建时,我会将事件绑定到页面2的消失,以便在页面2完成某件事或如果页面2完成某件事时对页面1做某事要求在Page2仍是主页的同时执行某项操作,然后创建一个自定义事件并将其绑定到该事件,以便在Page2中可以在需要时调用该事件。
您可以将第2页消失时的所有事件解除绑定,以清理内存丢失,我认为它在不需要时可以通过管理和装袋的方式来清理。