将视图模型的相同实例引用到多个视图模型中

时间:2013-10-12 00:15:11

标签: c# wpf mvvm

我有一个视图模型和其他3个视图模型的实例,这三个视图模型中的每一个都需要访问该视图模型的ObservableCollection,该视图模型不是我的主视图模型,我应该发送该实例的那个通过引用其他视图模型的构造函数来查看模型并将其添加为属性?

1 个答案:

答案 0 :(得分:1)

听起来不应该在那里开始(如果其他3个ViewModel需要它)。

您可以引用ViewModel,或者更好的是,将该集合移动到您的模型或全局资源。

修改

如果您没有使用任何框架,则可能必须跳过循环才能执行此操作,或者在构造函数中传递引用。 看看这些答案:similar questionanother similar one

我仍然认为你应该将它从ViewModel移到另一个地方,因为ViewModel基本上是从你的模型到你的View的翻译器。如果您的集合由不同的ViewModel共享,则它应位于共享位置。

如果您曾经使用过Mvvm-Light,那么定位器可能会有用,或者其他选项可能就是使用信使,即使我不会这样做......