将视图模型的同一实例引用到多个视图模型中
本文关键字:模型 视图 引用 实例 | 更新日期: 2023-09-27 18:34:56
我有一个视图模型和其他 3 个视图模型的实例,这三个视图模型中的每一个都需要访问该视图模型的 ObservableCollection,该视图模型不是我的主要视图模型,我是否应该通过引用将该视图模型的实例发送到其他视图模型的构造函数并将其添加为属性?
听起来它不应该一开始(如果其他 3 个 ViewModel 需要它(。
您可以引用 ViewModel,或者更好的是,将该集合移动到您的模型或全局资源。
编辑:
如果不使用任何框架,则可能需要跳过循环才能执行此操作,或者在构造函数中传递引用。看看这些答案:类似的问题,另一个类似的问题。
我仍然认为你应该把它从ViewModel移到另一个地方,因为ViewModel基本上是从你的模型到你的视图的转换器。如果您的集合由不同的 ViewModel 共享,则它应位于共享位置。
如果您使用 Mvvm-Light,定位器可能会很有用,或者另一种选择可能是使用信使,即使我不会那样做......