Mvvm Caliburn.Micro 2.0和IViewAware实现问题

Mvvm Caliburn.Micro 2.0和IViewAware实现问题,mvvm,caliburn.micro,Mvvm,Caliburn.micro,这个问题可能只能由CM贡献者来回答 ViewAware是IViewAware的基本实现,它使用内部实用程序类WeakValueDictionary来缓存视图。IViewAware的外部实现者无法访问此类 CM 1.5.x依赖于字典实现缓存 在代码中,我看不到CM 2.0中有任何依赖项,在实现IViewAware时需要使用WeakValueDictionary 我只是想确保我没有错过一些微妙的东西?在实现IViewAware时,我必须使用WeakValueDictionary,还是Dictiona

这个问题可能只能由CM贡献者来回答

ViewAware
IViewAware
的基本实现,它使用内部实用程序类
WeakValueDictionary
来缓存视图。
IViewAware
的外部实现者无法访问此类

CM 1.5.x依赖于
字典
实现缓存

在代码中,我看不到CM 2.0中有任何依赖项,在实现
IViewAware
时需要使用
WeakValueDictionary

我只是想确保我没有错过一些微妙的东西?在实现
IViewAware
时,我必须使用
WeakValueDictionary
,还是
Dictionary
仍然足够?

Dictionary
可以,只要您努力管理视图
IViewAware
无法清除视图。在内置类
屏幕中
停用
时清理视图,只要您将视图模型组合在一起,就应该这样做

使用
WeakValueDictionary
给了我们一些回旋空间,这意味着我们不再保留不再使用的视图


我们当然可以考虑使用<代码> WeakValueDictionary <代码>来帮助解决这个问题。

我相信这是VisualCaseCin的结果,并且能够在某些用例中禁用它,以及在其他平台(WP/Silverlight)中与WeakValueDirectionary一起使用的可用性。在旧的codeplex网站上有一个相当长的讨论主题。他们希望有一些东西可以防止内存泄漏的可能性。打开和关闭了一张票据,其中包含与变更相关的细节,并将其纳入了CM2.0。请欣赏上下文。难道你不知道在实现ivieware时是否还可以使用字典吗?