Ninject InSingletonScope的问题... ViewModel正在构建多次

时间:2013-08-01 20:40:55

标签: ninject

我在ViewModel的第一种方法中使用DataTemplates。

我需要与多个视图共享一个单独的ViewModel。

所以,我为每个视图设置了一个简单的ViewModel,使用Ninject,我从内核得到了对单例视图模型的引用......所以我想。

结构:

MainViewModel

  • ObservableCollection TabViewModels {get;设置;}

  • TabViewModels.Add(new View1ViewModel());

View1ViewModel

  • 在构造函数中...获取对MainViewModel(单例)的引用

这会导致循环引用...每次围绕圆圈执行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
}

0 个答案:

没有答案