2012-07-02 15 views
0

我看過一些文章提到的導航與ScreenConductor<T>如何工作Caliburn.Micro,但他們似乎並不符合我的要求。導航在Caliburn.Micro - 如何更換整個窗口

我的WPF應用程序有3次:

  1. 當用戶啓動應用程序,一個歡迎屏幕顯示,應用程序會在做一些背景調試作業。
  2. 當應用程序完成啓動過程時,它導航到列表視圖
  3. 當用戶在列表視圖點擊一個項目,它進入詳細視圖

然而,不同的觀點之間進行導航的時候,我需要整個窗口更換,似乎Conductor<T>作品當在視圖中有ContentControl並替換部分的視圖時,現在我需要以前的視圖爲銷燬並用新視圖替換它,否ContentControl,沒有MDI應用程序,那麼我怎麼想實現這個簡單的導航?

感謝

回答

1

爲什麼不能這個是ShellViewModel/ShellViewContentControl消耗整個shell窗口?或者,您可以查看Caliburn.Micro提供的WindowManager類。

+0

這是我工作過的一個apporach,但是當我從** list view **導航到** detail view **時,我必須從'ShellViewModel'調用'Navigate'方法,這會在' ListViewModel'和'ShellViewModel',結果是每個ViewModel都依賴於'ShellViewModel',這看起來不是很好:(所以我想知道是否有更自由的方式來瀏覽視圖,我會給'WindowManager '試一試,謝謝 – otakustay

+0

您的列表視圖模型/詳細視圖模型不需要依賴於shell視圖模型對於視圖間模型通信,您可以使用標準的.NET事件(訂閱列表視圖上的事件模型)或使用Caliburn.Micro的事件聚合器。 – devdigital

相關問題