在许多ViewModel中,我需要来自另一个ViewModel的集合。基本上每个VIewModel都有一个List属性,类型为ObservableCollection。并且大多数时候ViewA需要VIewModelA(用于CRUD)和ViewModelB.List(用于只读目的)。
这里推荐的方法是什么?
答案 0 :(得分:0)
1)对此不确定。
2)如果您要复制代码,通常会有更好的解决方案。
你可以使用单例模式,并有一个类来保存你的集合。然后每个Viewmodel访问相同的列表。称之为DataAccessor或类似的东西。
3)我没有视图引用两个不同的Viewmodel。为什么不合并Viewmodel A和B?如果它们都与ViewA打交道,为什么它们目前是分开的?
答案 1 :(得分:0)
我通常使用选项1.将SharedViewModel单例注入到需要数据的视图模型中。在需要时也可以轻松添加其他共享数据。