簡體   English   中英

如何在代碼隱藏中處理更改 PageModel?

[英]How can I handle changing PageModel in code-behind?

我有一個使用 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 事件。 可能嗎?

在 model 中定義自定義事件

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

然后您的頁面可以使用事件處理程序訂閱它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM