IMvxMessenger

    xiaoxiao2021-04-13  24

    一:view

    1.private IMvxMessenger _messenger = Mvx.Resolve<IMvxMessenger> (); 2._versionUpDialogToken = _messenger.SubscribeOnMainThread<ShowVersionUpDialogMessage> (ShowVersionUpDialog); 3.void ShowVersionUpDialog (ShowVersionUpDialogMessage message) { UIAlertView alert = new UIAlertView (message.Title, message.Message, null, null, new string[] { "OK" }); alert.Clicked += (s, b) => { NSUrl url = NSUrl.FromString (APP_STORE_URL); UIApplication.SharedApplication.OpenUrl (url); SplashViewModel.DownloadVersion (); }; alert.Show (); } 4.public override void ViewWillDisappear (bool animated) { base.ViewWillDisappear (animated); if (_versionUpDialogToken != null) { _messenger.Unsubscribe<ShowVersionUpDialogMessage> (_versionUpDialogToken); } }

    二:viewModel

    符合条件时: { _messenger.Publish (new ShowVersionUpDialogMessage (this, null, null));

}

    三:Message类

    using System; using Cirrious.MvvmCross.Plugins.Messenger; namespace BoshiAuthorize.Core.ViewModels { /// 强制版本升级 public class ShowVersionUpDialogMessage : MvxMessage { public string Title { get; set; } public string Message { get; set; } public ShowVersionUpDialogMessage (object sender, string title, string message) : base (sender) { if (title != null) { Title = title; } else { Title = "バージョンアップのお願い"; } if (message != null) { Message = message; } else { Message = "お使いのアプリはバージョンアップが必要です。; } } } }

    本质是一个MVVMCross框架的一个借口,里面有可以使用的方法

    转载请注明原文地址: https://ju.6miu.com/read-669121.html

    最新回复(0)