我正在創建具有DocumentViewModel類的小型圖形編輯器(繼承自繼承自GalaSoft.MVVMLIGHT.ViewModelBase的PaneViewModel類)。 DocumentViewModel表示一個圖像(應用程序可以一次處理幾張圖像,所以我決定收集DocumentViewModel)。我想在保存項目時序列化DocumentViewModel,並在加載項目時反序列化。然而,我不能這樣做,因爲應用程序在序列化時拋出一個異常(「GalaSoft.MvvmLight.ViewModelBase沒有標記爲可序列化)。是否有解決此問題的方法?使用序列化作爲加載/保存機制是否正確?MVVM Light - ViewModel Serialization
1
A
回答
2
這聽起來像是你想要序列化應用程序狀態,如果你想用MVVM Light做到這一點,那麼創建一個應用程序狀態服務/對象,它被注入視圖模型,用它來管理你的應用程序狀態(哪個視圖模型是活動的,等)
當你的應用程序檢測到應用程序正在保存時,你的應用程序狀態服務會自動保存,當它啓動時檢查一個序列化的對象,並使用它來重新加載應用程序狀態當前設置ViewModels消耗這個以確保該狀態是一致的。
+0
請鏈接任何示例鏈接? – VivekDev
相關問題
- 1. Mvvm Light ViewModel With ViewModel
- 2. MVVM Light - ViewModel reusage
- 3. MVVM Light ViewModelLocator:如何註冊Singleton ViewModel?
- 4. MVVM Light ViewModel實例的可混合性
- 5. MVVM Light Messages - 多個ViewModel實例
- 6. 使用MVVM Light從ViewModel查看通知
- 7. MVVM Light Messaging問題
- 8. 使用MVVM Light中的ViewModels?
- 9. MVVM Light - PivotControl
- 10. MVVM Light太快:)
- 11. mvvm light wpf unregister
- 12. MVVM Light Messenger類
- 13. PropertyChanged WPF MVVM Light
- 14. MVVM Light Messaging
- 15. MVVM light listview selecteditem
- 16. mvvm light - messaging
- 17. MVVM Light Binding
- 18. 從MVVM Light捕獲RaisePropertyChanged?
- 19. MVVM Light綁定到RIA IEnumerable
- 20. MVVM Light - 更改啓動URI
- 21. ViewModelLocator中的ViewModels MVVM Light
- 22. MVVM light toolkit messenger問題
- 23. MVVM Light Messenger執行多次
- 24. MVVM ViewModel與MVC ViewModel
- 25. 使用MVVM Light的CommandParameter
- 26. MVVM Light Messenger接收方法
- 27. 使用mvvm-light將對象發送到VIewModel
- 28. ViewModel在MVVM Light中沒有收到消息
- 29. MVVM Light和SQL Server CE在viewmodel中生成的代碼
- 30. 如何在try catch語句中包裝MVVM Light ViewModel?
爲什麼你需要序列化你的viewmodel? – syned
因爲它包含有關文檔 - 空間區域(可寫位圖封裝到一個類)的全部信息,標題,歷史,圖層和我想保存此文檔(序列化到項目文件)和加載(反序列化)。 – fex
MVVM代表模型 - 視圖 - 視圖模型您的數據在模型和視圖模型中,模型和視圖之間只有一層。你應該考慮什麼是你的數據(Model)並且序列化和反序列化它。 – syned