0
我有一個帶mvvmlight和ninject 3.x的silverlight 4項目。Ninject無法在Silverlight項目中正確解析依賴關係
我設置這樣的
kernel = new StandardKernel(new ViewModelModule(), new ClientSessionModule());
容器和這樣
public class ViewModelModule : NinjectModule
{
public override void Load()
{
((StandardKernel)Kernel)
.Bind(scanner => scanner.FromThisAssembly()
.Select(x => x.IsSubclassOf(typeof(ViewModelBase)))
.BindDefaultInterface());
}
}
和
public class ClientSessionModule : NinjectModule
{
public override void Load()
{
Kernel.Bind<IClientContext>().To<ClientContext>().InSingletonScope();
}
}
模塊現在的問題是後者。在應用中的一個點這種依賴是顯式地解決,更新這樣的:
var context = App.Ioc.Get<IClientContext>();
context.Username = "just a sample name";
現在,當一個視圖模型加載它得到IClientContext注入像
public MainViewModel(IClientContext clientContext)
問題是,實例不早點設定名稱。 但是,如果我在同一個ViewModel內解析再次明確解析我得到預期的實例與名稱設置。
我缺少什麼,因爲sigleton沒有被注入,因爲我預計它會自動注入?