WPF GUI对象共享(PRISM / MEF)

时间:2013-09-30 12:12:56

标签: c# wpf mvvm prism mef

我创建了一个由两个模块(dll)组成的棱镜项目。这两个模块在一个shell中加载,并按照MVVM模式构建。

Module1接收应该(尽可能快地)传输到Module2的数据。例如,该数据可以存储在可观察的集合中。这意味着如果更新此observablecollection,它应该更新module2中的视图。这是很多数据,所以我不会使用eventaggregator。

我读了一些有关依赖注入的内容,但我不知道该怎么做。我找到了几个例子,其中推送了一个提交按钮以在两个模块之间传输数据。我想我需要的是以某种方式在module2中的observablecollection(module1)的引用。共享服务是我找到的另一个关键字。

解决这个问题的好方法是什么?

使用mvvm模式的示例会很棒。我是棱镜新手,所以请善待。

1 个答案:

答案 0 :(得分:1)

将事件用于此类任务没有任何问题。通常有一些界面:

interface IDataReciever<TData>
{
    event Action<TData> DataRecieved;
    //some other methods, such as, for example:
    //void Open();
    //void Close();
}

隐藏与串口的所有交互。然后,您可以将此接口传递给viewmodel构造函数,订阅事件并将数据添加到事件处理程序中的observable集合(如果需要,将其转换为某个模型)。