目前我有一個解決方案與多個ViewModels - 「正常」和「嵌套」的。 每次我創建一個新的ViewModel實例時,我都可以在ViewModelManager.ActiveViewModels中看到新的實例。到現在爲止還挺好。
不幸的是,我也可以在那裏看到「舊」ViewModel實例,實際上,這些實例沒有被使用,但仍然保留在這個「緩存」中。
我的第一個問題是現在,我該如何處理這個「舊」ViewModels?
還有一個問題(後續)......這是ViewModel實例化的推薦用法,以避免這種行爲?
在此先感謝ActiveViewModels在Catel
0
A
回答
0
只要視圖模型超出範圍,Catel就會自動關閉(並移除)視圖模型。我建議您使用最新的預發佈版本(v.4.0.0),因爲它非常穩定,應該可以解決3.9中的幾個問題。
1
好吧,好像我找到了它。 簡短說明:
因爲我不能使用Catel「DataWindow」,因爲我們使用DevExpress WPF(DXWindow),所以ViewModel在卸載視圖時似乎不會自動關閉。
我通過在卸載視圖時自己關閉ViewModel來解決了問題。剪下的:
private void OnUnloaded(object sender, RoutedEventArgs routedEventArgs)
{
var dc = DataContext as IViewModel;
if (dc != null && !dc.IsClosed)
dc.CloseViewModel(null);
}
相關問題
- 1. Catel(mvvm)和WCF
- 2. Catel與Ninject
- 3. MahApps和Catel MVVM
- 4. Catel ViewToViewModel屬性
- 5. Catel MVVM xctk:PropertyGrid = Error
- 6. Catel MVR EventToCommand WinRT
- 7. Catel with Xamarin.Forms
- 8. Catel OnNavigation完成
- 9. Catel擴展EntityFramework5
- 10. Catel:自定義PleaseWaitService
- 11. Catel SavableModelBase和繼承
- 12. Catel IUIViusalizerService ShowDialog()錯誤
- 13. Catel(MVVM框架)ObservableCollection
- 14. Catel在ViewModel中顯示對話窗口
- 15. Catel:在異步命令中使用IMessageService
- 16. 在Catel中使用WPF設置DataContext
- 17. Catel PleaseWaitHelper在更新後不工作
- 18. 在Catel的DataWindow中應用按鈕
- 19. DevExpress DXWindow和Catel Castom窗口
- 20. Catel和一個ContentPresenter和TemplateSelector
- 21. WPF Treeview使用Catel 4
- 22. Catel框架 - 替換視圖
- 23. Catel WPF關閉模式
- 24. Catel ModelBase PropertyData反序列化
- 25. Catel Person應用示例
- 26. Catel Orc.Wizard解決頁面
- 27. hiearchical數據,catel和MVVM
- 28. Catel框架 - 懶財產
- 29. Catel ViewModelToModel沒有鏈接
- 30. 對viewmodel + Catel進行驗證