簡單的例子

在這裡,我們將看到在 Xamarin.Forms 中使用 MessagingCenter 的簡單示例。

首先,讓我們看一下訂閱訊息。在 FooMessaging 模型中,我們訂閱了來自 MainPage 的訊息。訊息應為 Hi,當我們收到訊息時,我們會註冊一個設定屬性 Greeting 的處理程式。最後,this 表示當前的 FooMessaging 例項正在註冊此訊息。

public class FooMessaging
{
    public string Greeting { get; set; }

    public FooMessaging()
    {
        MessagingCenter.Subscribe<MainPage> (this, "Hi", (sender) => {
            this.Greeting = "Hi there!";
        });
    }
}

要傳送觸發此功能的訊息,我們需要有一個名為 MainPage 的頁面,並實現類似下面的程式碼。

public class MainPage : Page
{
    private void OnButtonClick(object sender, EventArgs args)
    {
        MessagingCenter.Send<MainPage> (this, "Hi");
    }
}

在我們的 MainPage 中,我們有一個帶有處理程式的按鈕,可以傳送訊息。this 應該是 MainPage 的一個例項。