目前我有一个解决方案与多个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与Ninject
- 2. Catel with Xamarin.Forms
- 3. MahApps和Catel MVVM
- 4. Catel(MVVM框架)ObservableCollection
- 5. Catel:自定义PleaseWaitService
- 6. Catel在ViewModel中显示对话窗口
- 7. 对viewmodel + Catel进行验证
- 8. Catel WPF关闭模式
- 9. Catel Person应用示例
- 10. Catel ViewModelToModel没有链接
- 11. Catel框架 - 懒财产
- 12. Catel json反序列化
- 13. Catel示例与System.Windows.Markup.XamlParseException崩溃
- 14. WPF Treeview使用Catel 4
- 15. Catel Orc.Wizard解决页面
- 16. 如何使用Catel显示视图
- 17. Catel为嵌套视图设置DataContext
- 18. Catel应用程序与log4net库
- 19. 是否可以使用Catel与EntityFramework 7?
- 20. 焦点丢失IPleaseWaitService使用Catel
- 21. Catel应用程序初始化
- 22. Catel自定义视图创建
- 23. 在控件的构造函数中使用Catel ServiceLocator
- 24. 如何知道何时在Catel中初始化所有子Viewmodels?
- 25. Catel MVVM如何设置一个列表框
- 26. 用MVVM和Catel自定义用户控件
- 27. Catel(MVVM框架)[AS]不返回正确的程序集名称
- 28. 如何做简单的catel依赖注入
- 29. Catel:改变错误信息的外观和感觉
- 30. 与第三方控件一起使用catel