3
我有一个选项卡式应用程序,我希望用户能够搜索某个人,然后在新视图中显示该人的详细信息。用户应该能够为不同的人开放多个人员详细信息视图。棱镜/ MEF新视图没有从MEF导入获取新视图模型
我有点不确定我是否按照正确的程序来创建我的新视图。使用Unity(我不是)看起来你会打电话给Container.Resolve(view)
但是我正在做以下操作,为了在view/viewmodel中导入我的导入信息,需要使用satisfImports。
PersonDetailView view = new PersonDetailView();
_container.SatisfyImportsOnce(view);
_regionManager.Regions["MainRegion"].Add(view, this.SelectedPerson.Name);
_regionManager.RequestNavigate("MainRegion", new Uri("PersonDetailView", UriKind.Relative));
在我的PersonDetailView的代码中,我有以下属性来设置数据上下文。
[Import]
public PersonDetailsViewModel ViewModel
{
set
{
this.DataContext = value;
}
}
这似乎是工作,但我有麻烦的是,当我创建第二人称视角,新观点越来越DataContext的作为已创建视图的同一个实例。
这是因为我错误地创建了我的视图还是有一种方式告诉MEF创建一个新的对象,当它完成我的新视图的导入时?
谢谢,我会给你一个去。 – obaylis 2011-04-01 10:02:19