我現在回到使用WPF + MVVM設計一些GUI應用程序,現在我發現它比我第一次遇到它更容易理解。C#WPF MVVM應用程序的啓動順序
然而,困擾我的一個問題是應用程序的啓動。在我看來,有兩種方法:
從主窗口視圖開始,通過一些方法實例化它的ViewModel,它再次實例化它所表示的模型。這使View/GUI處於「運行」位置。
另一種方法是重寫應用程序類的OnStartup
程序(約翰。史密斯在他的The MVVM-Design Pattern MSDN Article這種方式),並通過建立模型,將它傳遞給視圖模型構造器啓動,並指定新創建的視圖模型的一個單獨創建的視圖/窗口的DataContext。
無論哪種方式都很好(在這種情況下,可能有什麼理由相對於其他方式)還是違反MVVM規則?
我寫了一篇博文,從我的觀點回答你的一些問題:https://blog.rsuter.com/recommendations-best-practices-implementing-mvvm-xaml-net-applications/ –