我有PageA + ViewModelA和PageB + ViewModelB。
从A我调用PushAsync(B),编辑一些数据,然后调用PopAsync()。
所以现在B关闭,用户返回A.
但是在B用户改变了一些状态,那应该是更新A.什么是通知A更新状态的正确方法(并且最好能够访问ViewModelB)。
的方法:
1. In B call PopAsync(), from NavigationStack get ViewModelA and manually trigger some update method
2. [doesn't work for me] In A call PushAsync(B) and wait until B becomes closed, so after that perform update with access to VMB (PushAsync doesn't lock A, so this approach doesn't work)
似乎这两种方法都不正确。
答案 0 :(得分:1)
通常在MVVM环境中,当您需要发出“信号”信号时对其他ViewModel的更改,您使用的是Messaging系统。 根据MVVM框架,您需要查看可用于此类的类。
在xamarin表单中,您将拥有消息中心https://developer.xamarin.com/guides/cross-platform/xamarin-forms/messaging-center/