关于使用mvvmlight v4的Messenger,我有一个问题:我们应该把Messenger的寄存器放在哪里?我找了一些例子,他们把它们放在构造函数的视图中。但是我遇到了一个问题,每当我们创建视图实例时,都会再次注册此消息-> 消息处理程序将被调用为相同数量的已注册消息。
如:我注册一条消息,如:
Messenger.Default.Register<NotificationMessage>(this, (nm) =>
{
if (nm.Sender == this.DataContext)
{
if (nm.Notification == "OnNext")
{
this.Hide();
Form2 f2= new Form2();
f2.Show();
}
}
}
--> 每次,第一次用户单击下一步,出现 1 个表单,但是当用户再次单击下一步时,这一次,注册了 2 条消息并出现了 2 个表单。我该如何处理这种情况?
提前感谢您的帮助。