我正在学习WPF中的MVVM模式。 我使用MVVM Light库并尝试将Ninject用作IOC。
MainView模型包含ViewModels列表
public ObservableCollection<MyTabItem> MyTabItems { get; set; }
public class MyTabItem
{
public string Name { get; set; }
public ViewModelBase ViewModelBase{ get; set; }
}
在MainViewModel构造函数中,我正在添加新的MyTabItems
public MainViewModel()
{
MyTabItems.Add(new MyTabItem() { Name = "View1", ViewModelbase = new ViewModel1()});
MyTabItems.Add(new MyTabItem() { Name = "View2", ViewModelbase = new ViewModel2()});
}
我坚持消除
MyTabItems.Add(new MyTabItem(){Name = "View1",ViewModelbase = new ViewModel1()});
因为某些视图模型具有由IOC注入的构造
public ViewModel1(ISomeService service)
{
m_service = service
}
我该如何做到这一点?