Я предполагаю, что когда в NinjectModule я связываю
Bind<SplashViewModel>().ToSelf().InSingletonScope();
, экземпляр SplashViewModel
является своего рода кэшированным в ядре Ninject, и каждый раз, когда я вызываю kernel.Get<SplashViewModel>
, я получаютот же экземпляр модели представления вернулся ко мне.Вот что происходит, правда.
В моем NinjectUIModule
я звоню:
Bind<SplashViewModel>().ToSelf().InSingletonScope();
Bind<SplashWindow>().ToMethod(context => new SplashWindow()
{
DataContext = new SplashViewModel()
});
Проблема в том, что SplashWindow
получает другой новый экземпляр SplashViewModel
, а неЭкземпляр, который кэшируется в ядре Ninject и возвращается всем другим сторонам получения.
Как связать модель представления с DataContext в представлении в модуле Ninject и разрешить его возврат через ядро. Получите другой код в приложении позже.