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