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>
{
}
}