2013-08-17 76 views
3

我一直在創建一個WPF應用程序,最初作爲任務欄圖標加載,然後單擊時打開一個適當的窗口。這是一個原型,我想轉移到Prism,並觀看了Mike Taulty(channel9.msdn.com/niners/mtaulty)的(精湛)視頻。我感覺我需要做的是創建一個應用程序自定義引導程序,它執行所有服務註冊,但不創建初始外殼,而是簡單地加載模塊,並可能標識要運行的模塊。有沒有人做過類似的事情,如果有的話,我會做多少工作?沒有初始shell的棱鏡應用程序

+0

如何製作一個隱藏和摺疊的外殼,只是爲了順其自然,讓邁克開心(我也喜歡他的視頻)。 –

+0

Garry,原因是應用程序沒有真正擁有一個窗口。除此之外,我真的不喜歡僞造一個emtpy shell的想法,因爲我的下一個問題是如何讓區域經理使用新窗口(這個問題已經在其他地方得到解答),然後如何讓模塊註冊與新的地區經理?所以我仍然留在我懷疑的引導程序中進行一些定製工作。 – naskew

回答

2

好吧我咬緊牙關,只是試了一下。我應該首先說明我正在使用Bootstrapper的Autofac版本。

  • 我返回null到CreateShell
  • 標誌着我在App.xaml中的頂部聲明的應用ShutdownMode =「OnExplicitShutdown」(重要,否則關閉時關閉最後一個窗口的應用程序)
  • 我創建了一個由Philipp Summi(http://www.codeproject.com/Articles/36468/WPF-NotifyIcon
  • 加載WPF通知圖標的模塊(IModule派生)。爲了響應此圖標上下文菜單中的命令,我簡單地創建了該窗口並將其顯示出來。

這一切都如我所願。我還沒有做的唯一事情就是看看如何在這些臨時窗口中使用區域,儘管其他文章似乎也包含了這些內容。我不相信Autofac引導程序給了我很大的優勢,但是我使用Autofac開發了一個非常早期的原型,並堅持使用它,因爲它運行順利。爲了避免兼容性問題並允許從外部插件動態加載模塊,我可能會長期使用Unity或MEF。