我的测试应用程序的各个部分有很多视图模型。
一种视图模型适用于名为MainSettingsViewModel
的用户设置(默认目录,SQL Server,SQL数据库等)。它包含MainSettings
模型的实例,其中包含配置详细信息。
另一个视图模型包含ComputerName
中的计算机列表(包含ComputerDatabase
,ObservableCollection
,计算机同步时间等信息)。
另一个包含网络设备(名称,位置IP等)的详细信息。
现在我需要使用来自这些不同视图模型的所有上述信息来执行任务。例如,我想ping NetworkDevices
视图模型中的每个网络设备,并将结果发送到MainSettings
视图模型中的文件,然后通过每个计算机视图模型进行通信并执行一些测试。
我遇到的问题是这些视图模型是在各自的视图中构建的,并且没有任何方法可以相互传递信息。
我的视图模型应该如何相互通信?
答案 0 :(得分:0)
每个视图模型都需要引用与
通信所需的任何其他视图模型如果你有一个" Main"视图模型它可以根据需要实例化其他视图模型,并在构造函数中为它们传递对其self的引用。这些VM可以在私有字段中从构造函数中保存该引用,并根据需要在其上调用公共方法。