Xamarin.forms 如何在代码隐藏中处理页面模型的更改?

Xamarin.forms 如何在代码隐藏中处理页面模型的更改?,xamarin.forms,freshmvvm,Xamarin.forms,Freshmvvm,我有一个使用FreshMVVM的Xamarin.Forms应用程序。有谁能告诉我是否可以使用绑定来处理更改页面代码中的页面模型?例如,如果页面模型中发生如下事件: public class VideoCallPageModel : BasePageModel { SignalRService signalR; ... public async override void Init(object initData) { base.Init(initDat

我有一个使用FreshMVVM的Xamarin.Forms应用程序。有谁能告诉我是否可以使用绑定来处理更改页面代码中的页面模型?例如,如果页面模型中发生如下事件:

public class VideoCallPageModel : BasePageModel
{
    SignalRService signalR;
 ...

    public async override void Init(object initData)
    {
        base.Init(initData);

        signalR = new SignalRService();
        signalR.OnIncomingCall += SignalR_IncomingCall;
        ...

    private void SignalR_IncomingCall(object sender, VideoCallPeer peer)
    {
        ...
    }

因此,我需要在触发此OnIncomingCall事件后处理Page的代码。有可能吗?

在模型中定义自定义事件

public delegate void IncomingCallHandler(object sender, VideoCallPeer e);
public event IncomingCallHandler OnIncomingCall;

private void SignalR_IncomingCall(object sender, VideoCallPeer peer)
{  
    if (OnIncomingCall == null) return;
    
    OnIncomingCall(this, peer);
}

然后您的页面可以使用事件处理程序订阅它

为什么不让VideoCallPageModel引发页面可以订阅的自己的事件?@Jason您能给我一个例子或一些参考吗?谢谢