我有一個使用PRISM的WPF桌面應用程序,有12個模塊互不依賴,每次啓動shell時,模塊都已加載,重點是我想知道哪個模塊最後加載所以我可以開始一個行動。我怎麼能確定這一點?我怎麼知道我的所有模塊是否裝入棱鏡4?
4
A
回答
9
覆蓋Bootstrapper.InitializeModules,調用基地,然後ACTION!
+0
噗! ,我要檢查一下...... –
+1
謝謝erikH,這正是我所需要的。 –
0
擴展在erikH的答案(謝謝你,順便說一句),假設你是從默認UnityBootstrapper推導,這裏是其中典型的覆蓋方法調用的順序:
//0
public override void Run(bool runWithDefaultConfiguration)
{
base.Run(runWithDefaultConfiguration);
//this is our last opportunity to hook into the PRISM bootstrapping sequence; at this point every very other base-overridden
//method has been executed
}
//1
protected override void ConfigureModuleCatalog()
{
base.ConfigureModuleCatalog();
ModuleCatalog moduleCatalog = (ModuleCatalog)this.ModuleCatalog;
//add modules...
}
//2
protected override void ConfigureContainer()
{
base.ConfigureContainer();
//register everything with the container...
}
//3
protected override DependencyObject CreateShell()
{
return Container.Resolve<ShellView>(); //resolve your root component
}
//4
protected override void InitializeShell()
{
base.InitializeShell();
App.Current.MainWindow = (Window)Shell;
App.Current.MainWindow.Show();
}
//5
protected override void InitializeModules()
{
base.InitializeModules();
}
注意,這適用於PRISM 4和5
相關問題
- 1. Windows Mobile:我怎麼知道我是否安裝了GPS?
- 2. 我怎麼知道我的Perl模塊是否包含在-M下?
- 3. 我怎麼知道是否有窗口被模態阻擋
- 4. 在棱鏡模塊內顯示棱鏡模塊
- 5. Codeigniter:我怎麼知道模型是否已經加載?
- 6. cURL:我怎麼知道我的cookies是否設置正確?
- 7. 我怎麼知道我的minVersion是否好?
- 8. 我怎麼知道什麼TextView是clickbale?
- 9. 我怎麼知道QTreeView是空的?
- 10. 我怎麼知道平板電腦是否有3G連接
- 11. 我怎麼知道webView是否有前一頁?
- 12. ANTLR 4:我如何知道是否所有的輸入都被解析?
- 13. 當我知道我的模塊是否被prestashop插件接受?
- 14. 在運行時,我怎麼知道我是否在WinXP +上? win32
- 15. 棱鏡,MVVM和模塊化
- 16. 棱鏡依賴模塊
- 17. 棱鏡模塊化實踐
- 18. 棱鏡模塊依賴
- 19. 升級CAB和棱鏡2棱鏡4
- 20. 我怎麼知道一個對象是否是唯一的
- 21. 我怎麼知道流是結束?
- 22. 棱鏡+ MEF:延遲棱鏡模塊的服務出口
- 23. 運行目錄(棱鏡)的所有模塊
- 24. Xamarin形式棱鏡我怎麼能在iOS的項目
- 25. 安裝所有模塊後的角度4我有錯誤
- 26. 鑑於經緯度,我怎麼知道它是否是日光?
- 27. 我怎麼知道Vaadin的窗戶是否打開?
- 28. 的java總之我怎麼能知道是否需要攜帶
- 29. 如果我有兩個時間段,我怎麼知道它們是否重疊?
- 30. java - 我有一個Date()。我怎麼知道它是否在HH:MM之後?
你的意思是說你想在所有模塊加載時觸發動作?你的代碼在所有模塊加載的地方都有嗎?或者你可以記錄模塊的初始化? – erikH
我喜歡在加載所有模塊時引發事件。應用程序不知道將要加載多少個模塊,這些模塊位於「。\ modules」目錄中。 –