2010-08-18 41 views
2

我對WPF很新,並且正在嘗試設置需要切換視圖的應用程序。如何在使用Unity和MVVM的WPF應用程序中切換視圖?

例如,用戶正在查看包含多個組件的系統,當他們單擊組件時,應該切換到與該組件關聯的視圖,替換以前的系統視圖。這是我理解的一個控制器應該在這裏使用,但實施避開了我。

我找到了幾個例子,但是這些項目對我來說有點太大,無法真正跟蹤視圖切換的具體內容。這裏真正幫助我的是來自App文件中Unity設置的一些示例代碼,它允許多個視圖,控制器中用於切換視圖的代碼以及與使控制器切換視圖的按鈕相關的代碼。

感謝

回答

1

如果你只是用WPF和潛水開始直接進入使用的IoC/MVVM,那麼你可能要考慮退後一步,並與WPF基本面出發,即佈局,路由事件,指揮,綁定,依賴屬性,INotifyPropertyChanged等...

爲了讓您開始:tutorials on wpf and mvvm

對於我們大多數人來說,WPF有着陡峭的學習曲線。然而,一旦你完成了第一個小時,那個'aha時刻'就會開始有規律地開始。

+0

我確實有合作得非常好了幾頁。我目前正在使用一個只在不同用戶控件之間切換的shell切換視圖,但我覺得這樣做最終會導致長期運行的問題,我還沒有真正看到這種方法在其他示例中使用。照顧這個的控制器是我真正掙扎的地方。我對這個項目也有很好的瞭解,因爲我將一個已經存在的asp.net網站轉換成一個wpf桌面應用程序,所以很多後端已經完成了。 – Justin 2010-08-19 06:37:43

0

我使用Mvvm-Light,但我相信Unity會是類似的。

你應該有一個ViewModelLocator註冊ViewModels。

您應該有某處樣式或數據模板,告訴框架根據遇到的視圖模型顯示哪個視圖。

你應該有一些你綁定到的屬性,這是一個基本視圖模型。

從那裏開始,您只需將該屬性更改爲不同的視圖模型,您的視圖就會相應更新。

新城說,陡峭的學習曲線,但一旦你習慣了它,它開始變得有意義:)

相關問題