2008-11-10 90 views
3

我期待在使用CompositeWPF(http://www.codeplex.com/CompositeWPF) - 又名棱鏡,打造我工作的應用程序。CompositeWPF是否支持多個窗口/ shell?

該應用程序是不是一個傳統的LOB應用,但是它確實存在的數據和狀態信息提供給用戶。

有一兩件事,我不能確定的是,如果CompositeWPF支持多個窗口或shell。我想讓我的應用程序通知用戶有一個無邊界的窗口,出現在屏幕的右下角(想想MSN通知),但仍然使用視圖注入該區域的想法等。

除了我希望能夠對用戶操作做出反應(例如,雙擊某些內容),在正在執行工作時隱藏主窗口並顯示進度對話框。

那麼,這是可能的嗎?

回答

3

我一直在使用複合WPF了幾個月,看到沒有理由你應該是不能做你問的事情。

我可能不會去多殼的路線,有一個「複合WPF的contrib項目」定義這應該可以很容易地顯示在單獨的窗口視圖(在這裏看到:http://www.codeplex.com/CompositeWPFContrib)一「WindowRegionAdaptor」我有沒有使用它,但已經使用了一些其他的貢獻項目,他們工作的廣告。儘管目前文件很少,但其中一些文件不存在,論壇可能有用。

我會嘗試一下,但你可以使用事件聚合到您的雙擊動作

eventAggregator.GetEvent<MainWindowShowEvent>().Publish(false); 

發佈事件,其中ShellPresenter可以訂閱,並呼籲到外殼以隱藏收據:

eventAggregator.GetEvent<MainWindowShowEvent>().Subscribe(b => View.Show(b)); 

然後使用WindowRegionAdaptor來顯示你的進度對話框,隨後在完成發佈第二個事件是主窗口訂閱從而導致它再次顯示。(以上我所使用的有效載荷,而不是指示是否該外殼應顯示或隱藏)

希望一些幫助 - 所有未測試

崔佛

+0

感謝您的回答 - 我幾乎想知道是否有人能夠幫助我。你提供的鏈接看起來不錯 - 我會研究它(當我可以找到時間)並報告結果:D – 2008-11-19 04:56:39