MessagingCenter 类提供多播发布-订阅功能。 这意味着可以有多个发布方发布单个消息,并且可能有多个订阅方正在侦听同一消息: 发布方使用 MessagingCenter.Send 方法发送消息,而订阅方使用 MessagingCenter.Subscribe 此外,订阅方还可以使用 MessagingCenter.Unsubscribe 方法取消消息订阅(如果需要)。 public class MessagingCenter : IMessagingCenter { public MessagingCenter(); public 它是强引用会一直占用资源存在MessagingCenter对象中。
, "关闭"); } }); //监听更新的消息 MessagingCenter.Subscribe mi.CommandParameter as ContextModel; Navigation.PushAsync(new ContextModelPage()); MessagingCenter.Send isUpdate = 0; public ContextModelPage() { InitializeComponent(); MessagingCenter.Subscribe model.Context = contexts.Text; model.Title = titel.Text; MessagingCenter.Send (this, "GetModel"); base.OnDisappearing(); } } 这里,我们编写页面的点击等交互事件,然后我们采用通讯中心(MessagingCenter
) MessagingCenter允许视图模型和其他组件进行通信,而不需要知道任何关于彼此的信息. MessagingCenter分2个角色,一个叫做订阅者(Subscriber),一个叫做发送者(Sender). MessagingCenter可以用于:用户交互(如按钮点击),系统事件(如控制更改状态)或其他事件(如异步下载完成)。 MessagingCenter有以下API,我们就来一一讲解. 代码如下: MessagingCenter.Subscribe<MainPage, string>(this, "Hello", (obj, item) => {
//订阅 MessagingCenter.Instance.Subscribe<string>("","",async (sender) => { / /... }); //取消订阅 MessagingCenter.Instance.Unsubscribe<string>("", ""); //发布 MessagingCenter.Instance.Send
{ Xamarin.Forms.Device.BeginInvokeOnMainThread(() => { MessagingCenter.Send