wpf - 不同库中 ViewModel 和 View 之间的中介者模式

标签 wpf mvvm mediator

我是意大利人,很抱歉语言不好。

我正在开发基于 MVVM 的应用程序。我的解决方案包含在单个 WPF 应用程序项目 Ms、Vs 和 VM 中。
作为 Views 和 ViewModels 之间的中介,我使用带有 Register 和 NotifyColleagues 方法的 Messenger 类,作为 Application 类的属性创建。

到目前为止,这一切都很好,我决定将 Ms、Vs 和 VM 划分到不同的库中。
在这种情况下,不能再将 Messenger 类放在可执行文件的 Application 类中,因为库无法与它联系。

所以我该怎么做?是否有不同的调解员模式,更适合我的情况,或者我错过了什么?

谢谢你=)

最佳答案

在使用 View 和 View 模型时,您不需要制作任何特定的模式实现。这种交互应该利用框架绑定(bind)特性,即 View 绑定(bind)到 ViewModel。如果处理得当,您可以避免任何耦合。

如果你想在运行时将 ViewModel 注入(inject)到 View 中以进一步解耦;您当然可以这样做,并且应该利用 DI 框架,例如 Unity .

当跨模块通信面时;您可以使用 Event Aggregator模式Prism提供了一个实现。

关于wpf - 不同库中 ViewModel 和 View 之间的中介者模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6495238/

相关文章:

wpf - 在 Silverlight 中连接事件处理程序的 MVVM 方法

swift - 对 MVVM 中的信号使用react?

java - Swing MVC - 事件传播和数据共享

wso2 ESB : Split/Gather Pattern - Single Response

c# - WPF 用户控件与自定义控件

wpf - 如何加快 Visual Studio 2010 文本编辑器的渲染速度?

wpf - 如何使工具栏中的项目填充 WPF 中的所有可用空间

wpf - WPF/MVVM 中的自定义错误消息

angularjs - 使用 AngularJS Mediator 模式避免循环依赖

c# - 在我需要基于 XAML 控件进行计算的情况下,使用 MVVM 与控件交互的正确设计是什么?