WebEnh

.net7 mvc jquery bootstrap json 学习中 第一次学PHP,正在研究中。自学进行时... ... 我的博客 https://enhweb.github.io/ 不错的皮肤:darkgreentrip,iMetro_HD
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Prism 基础知识学习(五)发布订阅

Posted on 2023-12-21 16:56  WebEnh  阅读(13)  评论(0编辑  收藏  举报

Prism 基础知识学习(五)发布订阅

在 ViewBViewModel.cs中

 1     public class ViewBViewModel : IDialogAware
 2     {
 3         /// <summary>
 4         /// 发送消息
 5         /// </summary>
 6         /// <param name="agregator"></param>
 7         public ViewBViewModel(IEventAggregator agregator)
 8         {
 9             agregator.GetEvent<MessageEvent>().Publish("Hellow");
10         }
11 
12         public string Title { get; set; }
13 
14 
15         public event Action<IDialogResult> RequestClose;
16 
17         public bool CanCloseDialog()
18         {
19             return true;
20         }
21 
22         public void OnDialogClosed()
23         {
24 
25         }
26 
27         public void OnDialogOpened(IDialogParameters parameters)
28         {
29         }

在 ViewC.xaml.cs中

    public partial class ViewC : UserControl
    {
        public ViewC(IEventAggregator eventAggregator)
        {
            InitializeComponent();
            eventAggregator.GetEvent<MessageEvent>().Subscribe(arg =>
                {
                    MessageBox.Show($"接收到消息:{arg}");
                }
                );
        }
    }

新建类 MessageEvent.cs

namespace ModuleB
{
    public class MessageEvent:PubSubEvent<string>
    {
    }
}
 
分类: prism