我正在尝试将一个类的现有实例注入到我的视图中,但该视图只接收我的类的默认实例。
这是我在视图模型类中的导出
[Export("BLA", typeof(vmObject))]
public vmObject VMObject
{
get
{
return vmObject;
}
set
{
if (value != vmObject)
{
vmObject = value;
this.RaisePropertyChanged<vmObject>(() => this.VMObject);
}
}
}
根据需要,我的视图模型会加载另一个应该接收导出类的视图。 我已经检查过类vmObject已按预期初始化
tRegionManager.RequestNavigate("vInfoAuthorizationField", new Uri("/vInfoAuthorizationField", UriKind.Relative));
我的导入
[Import("BLA", AllowRecomposition = true, AllowDefault = false)]
public vmObject VMObject { get; set; }
我该如何解决这个问题?
更新 我可以自己解决问题
我将以下行添加到bootstrapper
this.Container.ComposeExportedValue(this.Container);
之后,我可以将CompositionContainer导入到我的视图模型中,以下方法解决了导入/导出问题
this.container.ComposeExportedValue("BLA",this.VMObject);