WPF利用消息解决ViewModel与View之间的耦合性

我们先来看一下没有解耦合之前的代码,如下所示:
在这里插入图片描述
我们在ViewModel 中的一个命令响应方法中,打开一个窗口(View),这就产生了耦合性,因为这样使 ViewModel与View之间谁也离不开谁,当我们把这个FindWindow窗口从项目中删除时,将产生一个很直观的问题 —— 编译错误,所有我们就需要一个事物来解除耦合性,这个技术就是消息的使用 . . .

首先,我们需要几个类来实现这个消息功能,如下所示:
在这里插入图片描述
其中画紫色框框表示消息的类型,就是说这个消息是什么 . . .

需要这些类型的源码的小伙伴可以评论私聊我. . .

然后,我们就可以使用消息了,如下所示:

1)发送消息:
在这里插入图片描述
2)在主窗口(MainWindow)的隐藏代码中接收消息):
在这里插入图片描述
3)接收到消息之后,开始处理相关的事物:
在这里插入图片描述
4)窗口关闭时,摧毁消息:
在这里插入图片描述
使用消息之后,我们已经将 ViewModel 与 View之间的耦合性给消失了,这次我们删除view时,代码将不会出现任何的问题 . . .

猜你喜欢

转载自blog.csdn.net/weixin_42100963/article/details/107594252