0

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

4

1 回答 1

1

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

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

编辑:

如果您不使用任何框架,则可能必须跳过循环来执行此操作,或者在构造函数中传递引用。看看这些答案:类似的问题另一个类似的问题。

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

如果您使用 Mvvm-Light,定位器可能会很有用,或者另一种选择可能是使用信使,即使我不会那样做......

于 2013-10-12T00:56:37.793 回答