如何在代码隐藏中处理更改PageModel



我有一个使用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事件背后的问题。有可能吗?

在模型中定义自定义事件

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

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

最新更新