我目前正在學習MVVM模式,我正在使用的教程使用Unity for DI。我之前沒有真正使用過DI,只是想澄清一下我對這個特定代碼如何工作的看法。MVVM和依賴注入
在查看我:
private ViewModel vm;
[Dependency]
public ViewModel VM
{
set
{
vm = value;
this.DataContext = vm;
}
}
在依賴屬性告知團結在這裏注入。該視圖模型構造函數採用其與統一登記爲這樣的IQuoteSource對象:
IUnityContainer container = new UnityContainer();
RandomQuoteSource randomQuoteSource = new RandomQuoteSource();
container.RegisterInstance<IQuoteSource>(randomQuoteSource);
MainWindow window = container.Resolve<MainWindow>();
window.Show();
究竟是如何做到這一點的工作,因爲我使用上述財產從未明確創建視圖模型的對象。這是否都是在Unity內處理的,如果是這樣的話,它是如何實現的?
謝謝。
嗨,是的VM是MainWindow的一個屬性。謝謝。 – 2011-06-07 10:49:17