我在ViewModel的第一种方法中使用DataTemplates。
我需要与多个视图共享一个单独的ViewModel。
所以,我为每个视图设置了一个简单的ViewModel,使用Ninject,我从内核得到了对单例视图模型的引用......所以我想。
结构:
MainViewModel
ObservableCollection TabViewModels {get;设置;}
TabViewModels.Add(new View1ViewModel());
View1ViewModel
这会导致循环引用...每次围绕圆圈执行MainViewModel中的构造函数。
我正在以这种方式绑定Ninject中的viewmodel ......
Bind<GridViewModel>().ToSelf().InSingletonScope();
我正以这种方式获得参考......
private MainViewModel _mvm;
public View1ViewModel()
{
_mvm = ViewModelLocator.MainViewModel;
//or
_mvm = ViewModelLocator.Kernel.Get<MainViewModel();
//both produce the same results
}