现在我正在使用 MVVM Light 来实现 MVVM 模式。因此,在我看来,我创建了多个选项卡并将它们绑定到一个 ViewModel 的多个实例。我通过以下方式实现了这一目标:
ServiceLocator.Current.GetInstance<ViewModel>(key);
当我这样做时,ViewModel 的每个实例都连接到在 ViewModelLocator 中注册的同一个 DataService 实例:
SimpleIoc.Default.Register<IDataService, DataService>();
但我希望 Viewmodel 的每个实例也有一个 Dataservice 实例。为什么?因为 ViewModel 的每个实例具有相同的功能但需要其他数据。
当为 ViewModel 的新实例时,如何在 MVVM Lights ViewModelLocator 中创建 DataService 的新实例?这可能还是 MVVM 模式中的一个好方法,我未能正确理解 DataService?