0

我有一个使用 FreshMVVM 的 Xamarin.Forms 应用程序。谁能告诉我是否可以使用绑定来处理更改 Page 的代码隐藏中的 PageModel?例如,如果在 PageModel 中发生这样的事件:

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)
    {
        ...
    }

所以我需要在 Page 的代码隐藏中处理触发这个 OnIncomingCall 事件。可能吗?

4

1 回答 1

1

在模型中定义自定义事件

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);
}

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

于 2020-08-21T20:43:16.163 回答