2012-10-26 72 views
0

完成了一些手邊項目之後,我最近的項目使用Caliburn.Micro實現了MVVM模式 - 但我仍然爲一些架構問題而苦惱。主要有:MVVM,使用新的Windows還是視圖?

我的ViewModel包含BindableCollectionProfilesCollectionProfiles。我的觀點有一個按鈕來添加新的配置文件。但由於配置文件非常複雜,我希望點擊按鈕打開一個新窗口,可以填寫詳細信息,然後返回到主窗口。

在我以前用手工的方法我做了ProfilesCollection靜態的,因此,這是在整個應用程序訪問,並作爲單擊事件我剛剛打開一個新的窗口,在這裏我然後存儲在靜態Collection新的配置文件。

什麼是正確的MVVM方法?創建一個新的視圖/視圖模型,而不是一個新的窗口?我如何管理它們,以及如何將我創建的Profile返回到MainViewModel?

謝謝!

回答

1

我首先將ProfilesCollection轉換成ProfilesViewModel以及ProfilesView,用於選擇要編輯的配置文件以及添加/刪除配置文件。

其次,我會另外提供ProfileViewModelProfileViewProfileViewModel將有一個ShowDialog方法,將在ProfileView子窗口上調用ShowDialog。這將允許ProfilesViewModelProfileViewModel上設置配置文件,然後調用ShowDialog,這將很好地適合MVVM模式。

欲瞭解更多信息,請查看Wpf Application Framework

0

你可以簡單地打開一個新的對話框/窗口來填充你的細節。看看我的apporach here