2010-04-27 67 views
0

我知道這可能很愚蠢,我剛剛開始使用WPF。在WPF中切換主視圖

我想在用戶點擊某個控件時切換到另一個視圖,例如在列表中單擊一個按鈕後顯示詳細信息頁面。這一觀點將取代原來的觀點。

在Web應用程序中,這將導航到不同的頁面。那是什麼地方成語?

回答

1

我相信你想打開不同的對話框。

整理我的WPF控件像這樣,在MVC模式的一種形式:

意見< ==>控制器< ==>數據

所以,當你點擊一個視圖,控制器處理點擊的邏輯,類似於Web服務器如何處理用戶輸入的邏輯。控制器然後確定是否打開另一個視圖。如果用戶輸入需要一些存儲或處理狀態,那麼控制器將其關閉到「數據」部分。如有必要,該數據類將把東西放到磁盤上。控制器也可以傳遞給'處理'類,它將處理輸入並將其返回給控制器,然後控制器確定是將結果顯示給用戶,還是將它們放在文件中,兩者都不是。

tl; dr-將控制邏輯放在後端類而不是窗口本身。後端將打開另一個窗口。

0

迄今爲止,我已經構建了我的應用程序,使得路徑中的所有視圖(想到嚮導或類似的多階段輸入)都在TabControl中。

我可以很容易地隱藏選項卡(可見性=摺疊)並將給定選項卡放在前面。

我將在後面的代碼中處理導航,處理Click和MouseDown事件。

業務邏輯將由連接到UI元素的命令處理。看起來,命令是在代碼後面執行的。這允許對業務邏輯進行單元測試而不會篡改用戶界面。

這樣我就應該擁有MVVM的所有優點,並且最小的麻煩。當然,更好的建築非常受歡迎。目前選擇的圖書館是MVVM基金會。