我正在寫一個小應用程序來學習WPF/MVVM,並且我遇到了一個難題,我有一個viewmodel對象準備好了,但我不知道在哪裏實例化它。我在哪裏實例化我的視圖模型對象?
viewmodel表示單個窗口數據(一些滑塊值,一個進度條值和一些文本字符串,其中一些直接附加到暴露的模型上,另一些在視圖模型中以避免向模型添加新功能)
我一次只會需要1個這樣的對象(每個窗口,但我只允許1個窗口),儘管它實際上不是一個singleton。它會存在的一生的窗口,雖然(這是正常的?)
所以我的問題是這樣的:我應該實例viewmodel作爲App.Xaml中的靜態資源,作爲App.xaml的成員。 (在重寫的「OnStartup」方法內部)或作爲Window.xaml中的資源或Window.xaml.cs中的對象執行。
我已經看到人們把它作爲一個本地資源和一個全局對象的啓動,但對我來說,它似乎不應該在代碼背後(我所做的一切都是把它拋在空中,一旦它存在,它可以處理所有其他事情,實際上這就是它的重點)。
因此,思考視圖模型應該在哪裏實例化?