我创建了一个由两个模块(dll)组成的棱镜项目。这两个模块在一个shell中加载,并按照MVVM模式构建。
Module1接收应该(尽可能快地)传输到Module2的数据。例如,该数据可以存储在可观察的集合中。这意味着如果更新此observablecollection,它应该更新module2中的视图。这是很多数据,所以我不会使用eventaggregator。
我读了一些有关依赖注入的内容,但我不知道该怎么做。我找到了几个例子,其中推送了一个提交按钮以在两个模块之间传输数据。我想我需要的是以某种方式在module2中的observablecollection(module1)的引用。共享服务是我找到的另一个关键字。
解决这个问题的好方法是什么?
使用mvvm模式的示例会很棒。我是棱镜新手,所以请善待。
答案 0 :(得分:1)
将事件用于此类任务没有任何问题。通常有一些界面:
interface IDataReciever<TData>
{
event Action<TData> DataRecieved;
//some other methods, such as, for example:
//void Open();
//void Close();
}
隐藏与串口的所有交互。然后,您可以将此接口传递给viewmodel构造函数,订阅事件并将数据添加到事件处理程序中的observable集合(如果需要,将其转换为某个模型)。