从回调方法 (C#) 更新 UI

Update UI from callback methode (C#)

我有一个事件处理程序,它在事件 lobbyParicipantAdded 到达后调用一个方法 (onLobbyParticipantAdded)。

在方法onLobbyPaticipantAdded中,如果要在UI中更改某些内容,它总是结束。

这是我的代码

    public override void ViewDidLoad()
    {
        base.ViewDidLoad();
        EventHandler.Add("lobbyParticipantAdded", onLobbyParticipantAdded);
    }

    public void onLobbyParticipantAdded(dynamic obj)
    {
        LobbyParticipantAdded l = new LobbyParticipantAdded();
        l = obj;

        SC1.Text = l.displayname;
        Ready1.Text = "Ready";
    }

有人知道这个问题吗?并知道如何解决?

您需要在主线程中执行 UI 相关代码(如下例)

    public void onLobbyParticipantAdded(dynamic obj)
    {
         LobbyParticipantAdded l = new LobbyParticipantAdded();
         l = obj;

         this.InvokeOnMainThread (() => 
         {
             SC1.Text = l.displayname;
             Ready1.Text = "Ready";  
         });       
    }