using Prism.Events; using Prism.Services.Dialogs; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Txgy.EWS.Client.Common.MessageEvents; namespace Txgy.EWS.Client.Common.Extensions { public static class DialogExtensions { /// /// 询问窗口 /// /// 指定的DialogHost会话主机 /// 标题 /// 询问内容 /// 会话主机名称(唯一) /// public static async Task Question(this IDialogHostService dialogHost, string title, string content, string dialogHostName = "Root" ) { DialogParameters param = new DialogParameters(); param.Add("Title", title); param.Add("Content", content); param.Add("dialogHostName", dialogHostName); var dialogResult = await dialogHost.ShowDialog("MsgView", param, dialogHostName); return dialogResult; } /// /// 推送等待消息 /// /// /// public static void UpdateLoading(this IEventAggregator aggregator, UpdateModel model) { aggregator.GetEvent().Publish(model); } /// /// 注册等待消息 /// /// /// public static void Resgiter(this IEventAggregator aggregator, Action action) { aggregator.GetEvent().Subscribe(action); } /// /// 注册提示消息 /// /// /// public static void ResgiterMessage(this IEventAggregator aggregator, Action action, string filterName = "Main") { aggregator.GetEvent().Subscribe(action, ThreadOption.PublisherThread, true, (m) => { return m.Filter.Equals(filterName); }); } /// /// 发送提示消息 /// /// /// public static void SendMessage(this IEventAggregator aggregator, string message, string filterName = "Main") { aggregator.GetEvent().Publish(new MessageModel() { Filter = filterName, Message = message, }); } } }