如何从 MVVM Caliburn Micro 中的模型触发 ViewModel 方法



我是WPF和MWWM的新手,我正在使用Caliburn Micro。我已经设法使用GUI来设置端口并打开它,我知道如何处理从Winform中的COM端口接收的数据,但我不知道如何将我接收的数据链接到WPF中的ViewModel所有与COM相关的代码都在模型类中,但真正的问题是当触发Datarecived处理程序时,如何通知视图和视图模型 非常感谢您的帮助。

一种方法是使用EventAggregator。您可以将消息广播到所有视图模型,然后相关视图模型可以订阅他们感兴趣的消息。有关更多信息,请参阅 Caliburn Micro Docs。

您可能需要克服的一个问题取决于您希望保留模型的纯度。我个人不喜欢在我的模型中对Caliburn Micro有任何依赖。我将它们保存在一个单独的程序集中,以确保这种情况不会发生。然后,您需要一种机制来告知视图模型有关模型内发生的事件。您可以使用常规 .NET 事件将从串行端口接收的数据链接到视图模型。然后,视图模型可以使用事件聚合器将消息发送到所有感兴趣的视图模型。