简单的例子

在这里,我们将看到在 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 的一个实例。