Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf MVVM软消息传递 Messenger.Default.Register(此, LoginToken.SuccessUser,ViewMain窗口); var successsg=新通知消息(用户, 字符串(空); senger.Default.Send(successsg、LoginToken.SuccessUser);_Wpf - Fatal编程技术网

Wpf MVVM软消息传递 Messenger.Default.Register(此, LoginToken.SuccessUser,ViewMain窗口); var successsg=新通知消息(用户, 字符串(空); senger.Default.Send(successsg、LoginToken.SuccessUser);

Wpf MVVM软消息传递 Messenger.Default.Register(此, LoginToken.SuccessUser,ViewMain窗口); var successsg=新通知消息(用户, 字符串(空); senger.Default.Send(successsg、LoginToken.SuccessUser);,wpf,Wpf,我尝试使用galasoft版本,并想尝试eventaggregator。这是正确的方法还是我必须使用eventaggregator?就我个人而言,我发现消息传递是一种反模式,但不管怎么说,还是这样吧 干杯 Stian那么,您将如何代替消息传递呢?我使用服务和TDD,因此我基本上为我的viewmodels提供了一系列接口。这些服务可以共享。另一种方法是使用viewmodellocator,但要注意不要将ViewModel耦合得太多(您可能希望在其他项目/场景中使用它们)!关于消息传递,我认为它是

我尝试使用galasoft版本,并想尝试eventaggregator。这是正确的方法还是我必须使用eventaggregator?

就我个人而言,我发现消息传递是一种反模式,但不管怎么说,还是这样吧

干杯


Stian

那么,您将如何代替消息传递呢?我使用服务和TDD,因此我基本上为我的viewmodels提供了一系列接口。这些服务可以共享。另一种方法是使用viewmodellocator,但要注意不要将ViewModel耦合得太多(您可能希望在其他项目/场景中使用它们)!关于消息传递,我认为它是一种反模式的原因是,您“无法控制viewmodels依赖项”,您具有松散耦合的ofc,并且它有很多好处。大约四年前我就用过了。
      Messenger.Default.Register<NotificationMessage<User>>(this,
            LoginToken.SuccessUser, ViewMainWindow);

      var successMsg = new NotificationMessage<User>(user,
                string.Empty);
            Messenger.Default.Send(successMsg, LoginToken.SuccessUser);